func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     int n, m, k;     ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);     cin >> n >> m >> k;     vector<vector<int> > dp(1 << n, vector<int>(1 << n, 0));     vector<int> G[n];     int all = (1 << n) - 1;     for (int i = 1; i <= m; ++i) {       int u, v;       cin >> u >> v;       u--;       v--;       G[u].emplace_back(v);       G[v].emplace_back(u);       dp[(1 << u) | (1 << v)][(1 << u) | (1 << v)]++;     }     for (int m1 = 0; m1 < (1 << n); m1++) {       for (int m2 = 0; m2 < (1 << n); m2++) {         if (!dp[m1][m2]) continue;         for (int i = 0; i < n; i++) {           if (!(m1 >> i & 1)) continue;           for (auto v : G[i]) {             if (m1 >> v & 1) continue;             int m3 = (m2 | (1 << v)) & (all ^ (1 << i));             if (!((m3 >> v) ^ 1)) dp[m1 | (1 << v)][m3] += dp[m1][m2];           }         }       }     }     long long res = 0;     for (int i = 0; i <= all; i++) {       if (__builtin_popcount(i) == k) res += dp[all][i];     }     cout << res <<   n ;     return 0;   }   