int N; const int H = 99; { vector dp1; dp1.resize(H); rd(N); N *= 2; dp1[0] = 1; REP(i, N){ vector dp2; dp2.resize(H); REP(j, N){ if (j > 0) dp2[j - 1] += dp1[j]; if (j < H-1) dp2[j + 1] += dp1[j]; } dp1.swap(dp2); } cout << dp1[0] << endl; }