atcoder#ABC281G. [ABC281G] Farthest City

[ABC281G] Farthest City

配点 : 600600

問題文

正整数 N,MN, M が与えられます。 頂点に 1,,N1, \dots, N の番号が付けられた NN 頂点の単純連結無向グラフであって、以下の条件を満たすものの総数を MM で割った余りを求めてください。

  • 全ての u=2,,N1u = 2, \dots, N-1 について、頂点 11 から頂点 uu までの最短距離は、頂点 11 から頂点 NN までの最短距離より真に小さい。

ただし、頂点 uu から頂点 vv までの最短距離とは、頂点 u,vu, v を結ぶ単純パスに含まれる辺の本数の最小値を指します。 また、22 つのグラフが異なるとは、ある 22 頂点 u,vu, v が存在して、これらの頂点を結ぶ辺が一方のグラフにのみ存在することを指します。

制約

  • 3N5003 \leq N \leq 500
  • 108M10910^8 \leq M \leq 10^9
  • N,MN, M は整数

入力

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

NN MM

出力

答えを出力せよ。

4 1000000000
8

以下の 88 通りが条件を満たします。

example_00

3 100000000
1
500 987654321
610860515

MM で割った余りを求めることに注意してください。