#include <bits/stdc++.h>
using namespace std;
long n, m, k, a, b, ar[20][20], dp[1 << 10][1 << 10];
long ans;
long cnt[1 << 20];
long kk;
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> m >> kk;
  for (int i = 0; i < m; i++) {
    cin >> a >> b;
    --a;
    --b;
    ar[a][b] = ar[b][a] = 1;
    dp[(1 << a) + (1 << b)][(1 << a) + (1 << b)] = 1;
  }
  for (int i = 0; i <= (1 << n); i++) cnt[i] = cnt[i / 2] + i % 2;
  for (int mask1 = 1; mask1 < (1 << n); mask1++)
    for (int mask2 = 1; mask2 < (1 << n); mask2++)
      for (int k = 0; k < n; k++)
        if (mask1 & (1 << k))
          for (int q = 0; q < n; q++) {
            if (dp[mask1][mask2] == 0) continue;
            if (ar[k][q] == 0) continue;
            if ((mask1 & (1 << q))) continue;
            int nmask = mask2;
            if (mask2 & (1 << k)) nmask -= (1 << k);
            nmask += (1 << q);
            if (nmask & ((1 << q) - 1)) continue;
            dp[mask1 + (1 << q)][nmask] += dp[mask1][mask2];
          }
  for (int i = 0; i < (1 << n); i++)
    if (cnt[i] == kk) ans += dp[(1 << n) - 1][i];
  cout << ans << endl;
  cin.get();
  cin.get();
  return 0;
}
