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.
n = int(input())
 
max_length = 0  # длина максимального куска (ответ на задачу)
curr_length = 0  # длина текущего куска
prev_length = 0  # длина предыдущего куска
 
curr_first, curr_second = None, None  # первые два элемента текущего куска
curr_last, curr_prelast = None, None  # последние два элемента текущего куска
prev_last, prev_prelast = None, None  # последние два элемента предыдущего куска
 
prev = 0  # предыдущий элемент

seq = list(map(int, input().split())) 

for i in range(n):
    curr = seq[i]
    
    if curr > prev:  # последовательность продолжается
        curr_length += 1
 
        # Фиксация первых двух элементов
        if curr_length == 1:
            curr_first = curr
        elif curr_length == 2:
            curr_second = curr
 
        # Фиксация двух последних элементов
        curr_prelast, curr_last = curr_last, curr
 
    if curr <= prev or i == n - 1:  # обрыв
        # Соединяемся
        if prev_length <= 1 or curr_length <= 1:
            max_length = max(max_length, curr_length, prev_length)
        elif curr_first > prev_prelast or curr_second > prev_last:
            max_length = max(max_length, curr_length + prev_length - 1)
        else:
            max_length = max(max_length, curr_length, prev_length)
 
        # Обновляем переменные для новой последовательности
        prev_length, curr_length = curr_length, 1
        prev_last, prev_prelast = curr_last, curr_prelast
        curr_first, curr_second = curr, None
        curr_last, curr_prelast = curr, None
 
    # Запоминаем предыдущий перед переходом
    prev = curr
 
print(max_length)