#agc039f. [agc039_f]Min Product Sum

[agc039_f]Min Product Sum

問題文

NNMM 列のマス目の全てのマスに 11 以上 KK 以下の整数を書き込む方法 KNMK^{NM} 通りすべてに対して以下の値を求め、 それらすべての総和を DD で割ったあまりを求めてください。

  • NMNM 個の各マスに対し、それと同じ行あるいは同じ列のマス (自分自身を含む) に書かれた整数の最小値を求め、それら NMNM 個すべての積を取って得られる値

制約

  • 1leqN,M,Kleq1001 \\leq N,M,K \\leq 100
  • 108leqDleq10910^8 \\leq D \\leq 10^9
  • N,M,K,DN,M,K,D は整数である
  • DD は素数である

入力

入力は以下の形式で標準入力から与えられる。

NN MM KK DD

出力

KNMK^{NM} 個の値の総和を DD で割ったあまりを出力せよ。


入力例 1

2 2 2 998244353

出力例 1

35

NMNM 個の値の積が 1616 になる書き込み方が 11 通り、22 になる書き込み方が 44 通り、11 になる書き込み方が 1111 通りあります。


入力例 2

2 3 4 998244353

出力例 2

127090

入力例 3

31 41 59 998244353

出力例 3

827794103