#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair P; const ll MOD=1e9+7; ll powmod(ll a, ll k){ ll ap=a, ans=1; while(k>0){ if(k%2==1){ ans*=ap; ans%=MOD; } ap=ap*ap; ap%=MOD; k/=2; } return ans; } ll inv(ll a){ return powmod(a, MOD-2); } int main() { int n; cin>>n; ll pow[556][1111]; for(ll i=0; i<=n; i++){ pow[i][0]=1; for(int j=1; j<=2*n; j++){ pow[i][j]=pow[i][j-1]*i%MOD; } } ll comb[556][556]={}; comb[0][0]=1; for(int i=1; i<=n; i++){ comb[i][0]=comb[i][i]=1; for(int j=1; j=0; i--) invf[i]=invf[i+1]*(i+1)%MOD; ll a[556][556]; for(int x=1; x<=n; x++){ for(int y=x; y<=n; y++){ a[x][y]=0; for(int i=0; i