Counting the ways of Making Friends is Fun

2 secs 1024 MB
OxOmiso

問題設定に重大な誤りがありました。条件を追加することにより対応しました。


問題文


と番号付けられた 人の人がいます。最初, 人のうちどの二人組も直接友人ではありません。

あなたは今から,以下の操作をちょうど 回行います。

  • 人のうちから二人選んで,その二人を直接友人にさせる。

また, 回の操作終了後,以下の条件を満たす必要があります。

条件: 回の操作が終了した後,全ての で,人 について,人 の直接の友人,またその友人の直接の友人… というように,直接の友人を辿っていくことで,人 以外の全ての人に行きつく。

ありえる 人の友人関係は何通りあるでしょう?

回の操作を終えた後の 人の友人関係 と, 人の友人関係 について,ある二人組 で、「 では直接の友人であるが、 では直接の友人ではないような組」または 「 では直接の友人ではないが、 では直接の友人であるような組」 である場合,友人関係 は区別することにします。

ありえる 人の友人関係の場合の数を (この値は素数です。)で割った余りで出力してください。

制約


入力


出力


ありえる 人の友人関係の場合の数を で割った余りで一行に出力してください。改行を忘れないこと。

入力例


2

出力例


1

人を人 と 人 と書くことにし,人 間の友人関係を で表すことにします。
最終的な友人関係は 通りのみです。 と同一視されることに注意してください。
よって, で割った余りである を出力すればよいです。

入力例


3

出力例


3

最終的な友人関係は , , 通りです。
よって, で割った余りである を出力すればよいです。

提出


Go (1.14)