#arc036b. [arc036_b]山のデータ

[arc036_b]山のデータ

问题文

高桥君手上持有一组记录了各个地点高度的数据。从西向东第 ii1iN1≦i≦N)个地点的高度为 hih_i。这组数据中不存在相同高度的地点。

对于这组数据,高桥君决定定义“山”以及“山的大小”如下:

对于三个整数组 (s,t,u)(s,t,u)1stuN1≦s≦t≦u≦N),当满足以下条件时,认为这个组表示一个山。

  • 山的西侧条件:对于满足 sit1s≦i≦t-1 的任意整数 ii,满足 hi<hi+1h_i<h_{i+1}
  • 山的东侧条件:对于满足 tiu1t≦i≦u-1 的任意整数 ii,满足 hi>hi+1h_i>h_{i+1}

对于满足这样条件的整数组 (s,t,u)(s,t,u),山的大小定义为 us+1u-s+1

高桥君决定对数据进行调查,找出其中山的大小的最大值。

请编写一个程序来寻找可能的最大山的大小。


输入

输入以以下格式从标准输入中给出。

NN h1h_1 h2h_2 : hNh_N

  • 第一行为一个整数 N(1N3×105)N (1≦N≦3×10^5),表示数据的元素个数。
  • 接下来的 NN 行中,每行为一个整数,表示各个地点的高度。在这 NN 行中,第 ii 行的整数表示 hi(1hi109)h_i (1≦h_i≦10^9)
  • 对于任意满足 1ijN1≦i<j≦N 的整数 i,ji,j,满足 hihjh_i≠h_j

部分分

本问题设有部分分。

  • 如果针对满足 N20N≦20 的数据集回答正确,则得到 30 分。
  • 如果对附加约束条件下的数据集回答正确,则再额外得到 70 分。

输出

请输出可能的最大山的大小,结果以一行输出并换行。


输入例1


6
4
5
1
6
9
7

输出例1


4

山的数据为 [4,5,1,6,9,74, 5, 1, 6, 9, 7]。在这组数据中,我们考虑整数组 (3,5,6)(3, 5, 6)

  • 满足条件 1(=h3)6(=h4)9(=h5)1(=h_3) < 6(=h_4) < 9(=h_5),因此满足山的西侧条件。
  • 满足条件 9(=h5)7(=h6)9(=h_5) > 7(=h_6),因此满足山的东侧条件。

因此整数组 (3,5,6)(3, 5, 6) 表示大小为 63+1=46 - 3 + 1 = 4 的山。由于没有大于等于大小为 55 的山存在,所以结果为 44


输入例2


7
90
70
50
30
20
10
5

输出例2


7