#include <bits/stdc++.h>
int N, M, K, S, a[15][15], f[1 << 10][1 << 10];
void showBit(int no) {
  for (int i = N - 1; i >= 0; i--)
    if ((no >> i) & 1)
      printf("1");
    else
      printf("0");
  printf("\n");
}
int main() {
  scanf("%d%d%d", &N, &M, &K), S = 1 << N;
  for (int i = 1, u, v; i <= M; i++)
    scanf("%d%d", &u, &v), u--, v--,
        a[u][v] = a[v][u] = 1, f[(1 << u) | (1 << v)][(1 << u) | (1 << v)] = 1;
  for (int i = 1; i < S; i++)
    for (int j = 1; j < S; j++)
      if (f[i][j])
        for (int k = 0; k < N; k++)
          if ((i >> k) & 1)
            for (int l = 0; l < N; l++)
              if (!((i >> l) & 1) && a[k][l]) {
                int t = (j ^ (((j >> k) & 1) << k)) | (1 << l);
                int it = 0;
                for (it = 0;; it++)
                  if (t & (1 << it)) break;
                if (it == l) {
                  f[i | (1 << l)][t] += f[i][j];
                }
              }
  int ans = 0;
  for (int i = 1; i < S; i++)
    if (__builtin_popcount(i) == K) {
      ans += f[S - 1][i];
    }
  printf("%d\n", ans);
}
