AT_agc039_f [AGC039F] Min Product Sum
Description
[problemUrl]: https://atcoder.jp/contests/agc039/tasks/agc039_f
$ N $ 行 $ M $ 列のマス目の全てのマスに $ 1 $ 以上 $ K $ 以下の整数を書き込む方法 $ K^{NM} $ 通りすべてに対して以下の値を求め、 それらすべての総和を $ D $ で割ったあまりを求めてください。
- $ NM $ 個の各マスに対し、それと同じ行あるいは同じ列のマス (自分自身を含む) に書かれた整数の最小値を求め、それら $ NM $ 個すべての積を取って得られる値
Input Format
N/A
Output Format
N/A
Explanation/Hint
### 制約
- $ 1\ \leq\ N,M,K\ \leq\ 100 $
- $ 10^8\ \leq\ D\ \leq\ 10^9 $
- $ N,M,K,D $ は整数である
- $ D $ は素数である
### Sample Explanation 1
$ NM $ 個の値の積が $ 16 $ になる書き込み方が $ 1 $ 通り、$ 2 $ になる書き込み方が $ 4 $ 通り、$ 1 $ になる書き込み方が $ 11 $ 通りあります。