给定一个长度为 n 的数组 a1,a2,…,an,问其中的最长上升子序列的长度。也就是说,我们要找到最大的 m 以及数组 p1,p2,…,pm,满足 1≤p1<p2<⋯<pm≤n 并且 ap1<ap2<⋯<apm。求出这样的数组的个数,由于答案很大,输出对1000000007取模的结果。
输入格式
第一行一个数字 n。
接下来一行 n 个整数 a1,a2,…,an。
输出格式
一个数,表示个数。
样例输入
6
1 1 1 2 2 2
样例输出
9
数据规模
所有数据保证 1≤n≤1000,1≤ai≤109。