/* */ //#pragma comment(linker, "/STACK:16777216") #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define y0 sdkfaslhagaklsldk #define y1 aasdfasdfasdf #define yn askfhwqriuperikldjk #define j1 assdgsdgasghsf #define tm sdfjahlfasfh #define lr asgasgash #define norm asdfasdgasdgsd #define eps 1e-9 #define M_PI 3.141592653589793 #define bs 1000000007 #define bsize 256 using namespace std; const int N = 120000; vector > > ways[100]; vector > cur; int dx[10], dy[10]; set > > S[100]; vector > compress(vector > v) { sort(v.begin(), v.end()); for (int i = v.size() - 1; i >= 0; --i) { v[i].first -= v[0].first; v[i].second -= v[0].second; } return v; } void dfs(int ci, int cj) { if (cur.size() > 0) ways[cur.size()].push_back(cur); if (cur.size() > 13) return; for (int i = 0; i < 4; i++) { int ni = ci + dx[i]; int nj = cj + dy[i]; bool bad = 0; for (int j = 0; j < cur.size(); j++) { if (cur[j].first == ni&&cur[j].second == nj) bad = 1; } if (bad) continue; cur.push_back(make_pair(ni, nj)); dfs(ni, nj); cur.pop_back(); } } int main(){ //freopen("fabro.in","r",stdin); //freopen("fabro.out","w",stdout); //freopen("F:/in.txt", "r", stdin); //freopen("F:/output.txt", "w", stdout); ios_base::sync_with_stdio(0); //cin.tie(0); dx[0] = -1; dx[2] = 1; dy[1] = -1; dy[3] = 1; /* dfs(0, 0); for (int i = 1; i <= 13; i++) { for (int j = 0; j < ways[i].size(); j++) { ways[i][j] = compress(ways[i][j]); S[i].insert(ways[i][j]); } cout << "memo[" << i << "]=" << S[i].size() << ";\n"; // cout << i << " " << S[i].size() << endl; } */ int memo[100]; memo[1] = 1; memo[2] = 2; memo[3] = 6; memo[4] = 15; memo[5] = 42; memo[6] = 112; memo[7] = 308; memo[8] = 825; memo[9] = 2255; memo[10] = 6026; memo[11] = 16386; memo[12] = 43700; memo[13] = 118334; int n; cin >> n; cout << memo[n] << endl; cin.get(); cin.get(); return 0; }