R=range J=lambda:map(int,input().split()) N,M,X=J() L=N*N E=[0]*L D=[0]*N for j in R(M): u,v=J();u-=1;v-=1;E[u*N+v]+=1;D[u]+=1 if u!=v:E[v*N+u]+=1;D[v]+=1 I=[0,1] P=998244353 for j in R(2,M+1):I+=[P-P//j*I[P%j]] T=[[0]*L for i in R(L)] for i in R(N): for j in R(N): x=N*i+j if D[j]>1: if E[x]: for k in R(N):y=N*j+k;T[x][y]=(E[y]-(k==i))*I[D[j]-1] elif i==j: for k in R(N):y=N*j+k;T[x][y]=E[y] if D[j]<1:T[x][x]=1 elif E[x]:T[x][N*j+j]=1 v=[0]*L if D[0]: for j in R(N):v[j]=E[j]*I[D[0]]%P else:v[0]=1 X-=1 while X: if X&1:v=[sum(v[i]*T[i][j]for i in R(L))%P for j in R(L)] T=[[sum(T[i][j]*T[j][k]for j in R(L))%P for k in R(L)]for i in R(L)];X>>=1 for j in R(N):print(sum(v[N*i+j]for i in R(N))%P)