h,w,a,b,x,y,kk=map(int,input().split()) a-=1 b-=1 x-=1 y-=1 s=a*w+b g=x*w+y n=h*w def matmat(A,B): Ans=[] for i in range(n): Ans.append([0]*n) for i in range(n): for j in range(n): for k in range(n): Ans[i][j]+=A[i][k]*B[k][j] Ans[i][j]%=M return Ans V=[] for i in range(n): V.append([0]*n) for i in range(n): for j in range(n): a,b,c,d=i//w,i%w,j//w,j%w if (a==c or b==d or abs(a-c)==abs(b-d)) and i!=j: V[i][j]=1 M=998244353 Ans=[] for i in range(n): DP=[] for j in range(n): DP.append([0]*(2**n)) DP[i][0]=1 for bb in range(2**n): for j in range(n): for k in range(n): if V[j][k] and (bb ^ 2**k) > bb: DP[k][bb+2**k]+=DP[j][bb] DP[k][bb+2**k]%=M Ans.append(DP) loop=[] for i in range(n): loop.append([0]*n) for i in range(n): for j in range(n): loop[i][j]=Ans[i][j][-1] I=[] for i in range(n): II=[0]*n II[i]=1 I.append(II) EX=[loop] for i in range(60): EX.append(matmat(EX[-1],EX[-1])) ll=kk//n div=kk%n #print(ll) for i in range(60): if ll^(2**i)