AT_agc046_f [AGC046F] Forbidden Tournament
Description
[problemUrl]: https://atcoder.jp/contests/agc046/tasks/agc046_f
整数 $ N,K $ と素数 $ P $ が与えられます。$ N $ 頂点の有向グラフ $ G $ であって、以下を全て満たすものの個数を $ P $ で割った余りを求めてください。ただし、頂点どうしは互いに区別します。
- $ G $ はトーナメントである。すなわち、$ G $ に多重辺や自己ループはなく、$ G $ のどの $ 2 $ 点 $ u,v $ に対しても、$ u\to\ v $ 辺または $ v\to\ u $ 辺のうちちょうど片方が存在する。
- $ G $ のどの頂点の入次数も $ K $ 以下である。
- $ G $ のどの相異なる $ 4 $ 頂点 $ a,b,c,d $ に対しても、$ a\to\ b,\ b\to\ c,\ c\to\ a,\ a\to\ d,\ b\to\ d,\ c\to\ d $ の $ 6 $ 辺がすべて同時に存在することはない。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ K $ $ P $
Output Format
条件を満たす有向グラフの個数を $ P $ で割った余りを出力せよ。
Explanation/Hint
### 制約
- $ 4\ \leq\ N\ \leq\ 200 $
- $ \frac{N-1}{2}\ \leq\ K\ \leq\ N-1 $
- $ 10^8\