#include <bits/stdc++.h>
using namespace std;
const int MAX = (1 << 10) + 20;
long long sol[MAX][MAX];
int n, m, k;
long long sts[MAX], tn;
int head[20];
int nxt[1000], to[1000], ent;
inline void add(int a, int b) {
  nxt[ent] = head[a], to[ent] = b, head[a] = ent++;
  nxt[ent] = head[b], to[ent] = a, head[b] = ent++;
}
int main() {
  scanf("%d%d%d", &n, &m, &k);
  memset(head, -1, sizeof(head));
  for (int i = 0; i < m; i++) {
    int a, b;
    scanf("%d%d", &a, &b);
    add(a, b);
  }
  memset(sol, 0, sizeof(sol));
  for (int st = 0; st < (1 << n); st++) {
    tn = 0;
    int tempst = st, sp = st;
    while (tempst) sts[tn++] = tempst, tempst = sp & (tempst - 1);
    sts[tn++] = tempst;
    for (int j = tn - 1; j >= 0; j--) {
      int sb = sts[j];
      if (st == 0 && sb == 0) {
        sol[st][sb] = 1;
        for (int v = 1; v <= n; v++) {
          for (int a = head[v]; ~a; a = nxt[a]) {
            int u = to[a];
            int st = (1 << (v - 1)) | (1 << (u - 1));
            sol[st][st] += 1;
          }
        }
      } else {
        if (sol[st][sb] == 0) continue;
        int cnt = 0;
        for (int i = 0; i < n; i++) {
          if ((sb & (1 << i))) cnt++;
        }
        sol[st][sb] /= cnt;
        for (int i = 0; i < n; i++) {
          if ((st & (1 << i))) {
            int v = i + 1;
            for (int a = head[v]; ~a; a = nxt[a]) {
              int u = to[a];
              if ((st & (1 << (u - 1))) == 0) {
                int p = st | (1 << (u - 1));
                if ((sb & (1 << i))) {
                  int pp = (sb & (~(1 << i))) | (1 << (u - 1));
                  sol[p][pp] += sol[st][sb];
                } else {
                  int pp = sb | (1 << (u - 1));
                  sol[p][pp] += sol[st][sb];
                }
              }
            }
          }
        }
      }
    }
  }
  long long ans = 0;
  for (int i = 0; i < (1 << n); i++) {
    int cnt = 0;
    for (int j = 0; j < n; j++) {
      if ((i & (1 << j))) cnt++;
    }
    if (cnt == k) ans += sol[(1 << n) - 1][i];
  }
  printf("%lld\n", ans);
  return 0;
}
