#include using namespace std; #define ll long long #define MOD 1000000007 #define INF 1e18 #define pb push_back #define pi pair ll n; ll a[1210]; ll dp[1210][1210]; ll c[1210][1210]; ll fact[1210]; ll sam[1210]; ll power(ll a,ll b,ll p) { ll res=1; while(b) { if(b&1) res=(res*a)%p; b/=2; a=(a*a)%p; } return res; } ll C(ll n,ll r) { if(c[n][r]!=-1) return c[n][r]; if(r>n) return 0; return c[n][r]=(fact[n]*power(fact[n-r],MOD-2,MOD))%MOD; } ll find(ll curr,ll prev) { if(curr==n) { return 1; } if(dp[curr][prev]!=-1) return dp[curr][prev]; dp[curr][prev]=0; for(int i=curr;i>n; fact[0]=1; for(ll i=1;i<=n;i++) { fact[i]=(i*fact[i-1])%MOD; } for(int i=0;i>a[i]; } sam[0]=0; for(int i=1;i