#include using namespace std; using ll=long long; void mpl(ll& x,ll y){ x+=y; if(x>998244353) x-=998244353; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n,m,k; cin>>n>>m>>k; vector> g(n); for(int i=0;i>u>>v; g[--u].push_back(--v); g[v].push_back(u); } int cnts=1; for(int i=0;i> dp(n,vector(cnts)); auto turn_vec=[&](int state)->vector{ vector ret; for(int i=0;i state)->int{ int ret=0,pw=1; for(int i=0;i state(n); state[i]=1; dp[i][turn_int(state)]=1; } for(int s=1;s state=turn_vec(s); for(int i=0;i new_state=state; new_state[nv]++; int ns=turn_int(new_state); mpl(dp[nv][ns],dp[i][s]); } } } } ll ans=0; for(int i=0;i