#include using namespace std; using ll = long long; int main(){ ios::sync_with_stdio(false); cin.tie(0); int K; cin >> K; vector> dp(1 << 16, array({})); dp[0][112] = 1; auto fb = [&](int S, int y, int x){ return (S >> (y * 4 + x) & 1 ? 1 : -1); }; auto f = [&](int S, int pos){ int y = pos >> 2, x = pos & 3, res = 0; if(y > 0) res += fb(S, y - 1, x); if(y < 3) res += fb(S, y + 1, x); if(x > 0) res += fb(S, y, x - 1); if(x < 3) res += fb(S, y, x + 1); return res; }; for(int i = 0; i < (1 << 16); i++){ int p = __builtin_popcount(i); for(int j = 0; j < 329; j++){ if(dp[i][j] == 0) continue; for(int k = 0; k < 16; k++){ if(i >> k & 1) continue; dp[i | (1 << k)][j + f(i, k) * p] += dp[i][j]; } } } cout << dp.back()[K + 112] << '\n'; }