n=gets.to_i+1 a=[0]+gets.split.map(&:to_i)+[0] d=(0..n).map{[0,1].map{(0..n).map{0}}} (1..n).each{|w|2.times{|s|(0..n-w).each{|i|d[w][s][i]=[d[w-1][s][i+1-s],(-1)**s==(a[i]<=>a[i+w])?1+d[w-1][1-s][i+s]:0].max}}} p d[n].max.max