#include<bits/stdc++.h> #define mod 998244353 using namespace std; int pow(int a,int b){int i,r=1;for(i=1;i<=b;i++){r*=a;}return r;} int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n,m,k; cin >> n >> m >> k; vector<vector<int>> fl(n,vector<int>(n,0)); for(int i=0;i<m;i++){ int u,v; cin >> u >> v; u--;v--; fl[u][v]=1; fl[v][u]=1; } vector<int> pv(n); for(int i=0;i<n;i++){ pv[i]=pow(k+1,i); } int tot=pow(k+1,n); vector<vector<int>> dp(tot,vector<int>(n,0)); for(int i=0;i<n;i++){ dp[pv[i]][i]=1; } for(int i=0;i<tot;i++){ vector<int> dvd; int ci=i; for(int j=0;j<n;j++){ dvd.push_back(ci%(k+1)); ci/=(k+1); } for(int j=0;j<n;j++){ if(dp[i][j]==0){continue;} for(int l=0;l<n;l++){ if(dvd[l]==k){continue;} if(fl[j][l]==0){continue;} dp[i+pv[l]][l]+=dp[i][j]; if(dp[i+pv[l]][l]>=mod){ dp[i+pv[l]][l]-=mod; } } } } int res=0; for(int i=0;i<n;i++){ res+=dp[tot-1][i]; res%=mod; } cout << res << "\n"; return 0; }