#include using namespace std; typedef long long int uli; const int mx=1222; const int mod=1e9+7; int d[mx]; uli f[mx][mx]; uli fa[mx],fi[mx]; uli fxp(uli b,uli x){ uli a=1; for(;x!=0;b=b*b%mod,x>>=1) if(x&1ll)a=a*b%mod; return a; } int main(){ fa[0]=fi[0]=1; for(int i=1;i=1;i--){ int maxlen=n; if(i!=0)maxlen=i; for(int l=1;l<=maxlen;l++){ for(int x=1;x<=l;x++){ if(x!=1 && d[i+x-1]