#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int MOD = 1000000007; int main() { int n; cin >> n; vector > dp(1, vector(1, 1)); for(int i=0; i > nextDp(i+2, vector(2*i+3)); for(int a=0; a 0) nextDp[a+1][b-1] += dp[a][b] * b; } } dp.swap(nextDp); for(int a=0; a