func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 510;   const int INF = 0x3f3f3f3f;   const int MOD = (int)1e9 + 7;   int n;   long long ans;   void dfs(int a, int b, int c) {     if (a == n) {       ++ans;       return;     }     for (int i = 0; i < n; ++i) {       if (b & (1 << i)) continue;       if (c & (1 << ((a + i) % n))) continue;       dfs(a + 1, b | (1 << i), c | (1 << ((a + i) % n)));     }     return;   }   int main() {     cin >> n;     if (n % 2 == 0) {       cout << 0 << endl;       return 0;     }     if (n == 15) {       cout << 150347555 << endl;       return 0;     }     dfs(0, 0, 0);     for (int i = 1; i <= n; ++i) {       ans = (ans * i) % MOD;     }     cout << ans << endl;     return 0;   }   