#include #include #include #include #include #include #include #include #include #include using namespace std; template ostream& operator << (ostream& os, vector vec){ for(int i=0; i> n; vector dp(6*n+1, 0); fill(dp.begin(), dp.begin()+n+1, 1); for(int i=1; i<8; i++){ vector dp_(6*n+1, 0); long long len = 0; long long sum = 0; for(int j=0; j<=6*n; j++){ if(len>n){ sum -= dp[j-n-1]; len--; } sum += dp[j]; len++; dp_[j] += sum; } swap(dp,dp_); //cerr << dp << endl; } cout << dp[6*n] << endl; return 0; }