You are given an array a consisting of n integers.

You can remove at most one element from this array. Thus, the final length of the array is n-1 or n.

Your task is to calculate the maximum possible length of the strictly increasing contiguous subarray of the remaining array.

Recall that the contiguous subarray a with indices from l to r is a[l ... r] = a_l, a_{l + 1}, ..., a_r. The subarray a[l ... r] is called strictly increasing if a_l < a_{l+1} < ... < a_r.

Input

The first line of the input contains one integer n (2 ≤ n ≤ 2 ⋅ 10^5) — the number of elements in a.

The second line of the input contains n integers a_1, a_2, ..., a_n (1 ≤ a_i ≤ 10^9), where a_i is the i-th element of a.

Output

Print one integer — the maximum possible length of the strictly increasing contiguous subarray of the array a after removing at most one element.

Examples

Input


5
1 2 5 3 4


Output


4


Input


2
1 2


Output


2


Input


7
6 5 4 3 2 4 3


Output


2

Note

In the first example, you can delete a_3=5. Then the resulting array will be equal to [1, 2, 3, 4] and the length of its largest increasing subarray will be equal to 4.
import time
import string

LOCAL = False
start_time = None
if __name__ == '__main__':
    if LOCAL:
        start_time = time.time()
        # n = int(input())
        # a = list(map(lambda x: int(x), input().split(' ')))

    n = int(input())
    a = list(map(lambda x: int(x), input().split(' ')))

    z = []
    prev = a[0]
    current = [0, 0]
    maxl = -1
    for uka, i in enumerate(a[1:]):
        if prev < i:
            current[1] = uka + 1
        else:
            z.append(current)
            maxl = max(current[1] - current[0] + 1, maxl)
            current = [uka + 1, uka + 1]
        prev = i

    maxl = max(current[1] - current[0] + 1, maxl)
    z.append(current)
    if len(z) == 1:
        print(maxl)
    else:
        # print(z)
        for i, mas in enumerate(z[:-1]):
            next_max = z[i + 1]
            le = mas[0]
            r = next_max[0]
            if mas[1] == mas[0] or next_max[1] == next_max[0]:
                continue
            # print(mas[1] - 1, r)
            if a[mas[1] - 1] < a[r] or a[r+1] > a[mas[1]]:
                maxl = max(maxl, next_max[1] - le)
            # print(mas, next_max)
        print(maxl)
    if LOCAL:
        print("--- %s seconds ---" % (time.time() - start_time))
