#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int maxn = 1205; const int mod = 1000000007; void gcd(ll a,ll b, ll& d,ll& x,ll& y) { if(!b) { d=a; x=1; y=0; } else { gcd(b,a%b,d,y,x); y-=a/b*x; } } ll inv(ll a,ll n) { ll d,x,y; gcd(a,n,d,x,y); return d==1?(x%n+n)%(n/d):-1; } int n,a[maxn],b[maxn]; ll f[maxn][maxn],p[maxn][maxn],ni[maxn]; void init() { cin>>n; for(int i=1; i<=n; i++)cin>>a[i]; b[n] = n; for(int i = n-1; i>=1; i--) b[i] = (a[i] < a[i+1]?b[i+1]:i); for(int i=1;i=1;i--){ if(b[i]