#include <bits/stdc++.h>
using namespace std;
int N, M, K;
int Cnt[1030];
long long Ans;
long long F[1030][1030];
vector<int> To[15];
int main() {
  int i, j, k, t, p, s, u, v;
  scanf("%d%d%d", &N, &M, &K);
  while (M--) {
    scanf("%d%d", &u, &v);
    To[u].push_back(v);
    To[v].push_back(u);
  }
  for (i = 0; i < N; i++) F[1 << i][1 << i] = 1;
  for (i = 1; i < 1 << N; i++) Cnt[i] = __builtin_popcount(i);
  for (i = 1; i < 1 << N; i++)
    for (j = i; j; j = (j - 1) & i)
      if (F[i][j])
        for (k = 0; k < N; k++)
          if (i >> k & 1)
            for (t = 0; t < To[k + 1].size(); t++)
              if (!(i >> (p = To[k + 1][t] - 1) & 1)) {
                if (Cnt[i] > 1)
                  s = j & ~(1 << k) | 1 << p;
                else
                  s = j | 1 << p;
                if (!(s >> p + 1)) F[i | 1 << p][s] += F[i][j];
              }
  for (i = 0; i < 1 << N; i++)
    if (Cnt[i] == K) Ans += F[(1 << N) - 1][i];
  printf("%I64d\n", Ans);
  return 0;
}
