定义一个序列的“美观度”(beauty)为其最长上升子序列的长度。
给定一个包含 $n$ 个整数的数组 $a$。请找出一个 $a$ 的子序列,使得该子序列的美观度严格小于原数组 $a$ 的美观度,并求出满足条件的最长子序列的长度。
输入格式
第一行包含一个整数 $n$,表示数组 $a$ 中元素的个数($1 \le n \le 5 \cdot 10^5$)。
第二行包含 $n$ 个用空格分隔的整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^9$)。
输出格式
输出一个整数:满足其美观度小于原数组 $a$ 美观度的子序列的最大长度。
样例
输入 1
3 2 1 3
输出 1
2
输入 2
4 4 3 2 1
输出 2
0
输入 3
4 2 1 4 3
输出 3
2
输入 4
6 4 6 5 2 1 3
输出 4
4
输入 5
4 3 4 1 2
输出 5
2