mod = 998244353 def main(): h, w, sy, sx, gy, gx, k = list(map(int, input().split())) sy, sx, gy, gx = sy-1, sx-1, gy-1, gx-1 N = h*w A = [[0]*N for _ in range(N)] for y0 in range(h): for x0 in range(w): dp = [[0]*N for _ in range(1<> (y2*w+x2) & 1: continue nbit = bit | 1 << (y2*w+x2) if y1 == y2 or x1 == x2 or y1+x1 == y2+x2 or y1-x1 == y2-x2: dp[nbit][y2*w+x2] = (dp[nbit][y2*w+x2] + dp[bit][y1*w+x1]) % mod for yx in range(N): A[y0*w+x0][yx] = dp[-1][yx] B = [0] * N B[sy*w+sx] = 1 K = k // N for i in range(60): if K >> i & 1: nB = [0] * N for u in range(N): for v in range(N): nB[v] = (nB[v] + B[u]*A[u][v]) % mod B = nB nA = [[0]*N for _ in range(N)] for m in range(N): for u in range(N): for v in range(N): nA[u][v] = (nA[u][v] + A[u][m]*A[m][v]) % mod A = nA dp = [[0]*N for _ in range(1<> (y2*w+x2) & 1: continue if (y1, x1) == (y2, x2): continue nbit = bit | 1 << (y2*w+x2) if y1 == y2 or x1 == x2 or y1+x1 == y2+x2 or y1-x1 == y2-x2: dp[nbit][y2*w+x2] = (dp[nbit][y2*w+x2] + dp[bit][y1*w+x1]) % mod ans = 0 k = k % N for bit in range(1<