松崎くんは順列が大好きです。今日は順列によって定まる「サイクル森」について考えることにしました。
$1$ から $k$ までの順列 $p = (p_1, \ldots, p_k)$ に対し「$p$ によって定まるサイクル森」とは、以下の2条件を満たすグラフ $G(p)$ を指します:
順列 $p$ のスコア $f(p)$ を、「$G(p)$ の連結成分の大きさの総積」として定義します。例えば $p = (2, 1, 4, 3)$ ならば $f(p) = 4$、$p = (2, 3, 1, 4)$ ならば $f(p) = 3$です。
正整数 $N$ が与えられます。長さ $N$ の順列は $N!$ 通り考えられますが、これら全ての順列のスコアの分散はいくつになるか求めてください。
全ての順列のスコアの分散とは以下のように定義されます:
入力の制約下において、求める値は以下の条件を満たす有理数 $\frac{q}{p}$ として表せることが証明できます:
分散の値の代わりに $r \bmod 10^9+7$を出力してください。
入力は以下の形式で標準入力から与えられます。
$N$
問題文中で指定された値 $r \bmod 10^9+7$ を1行に出力してください。
1
0
長さ1の順列は1つのみであり、分散は0になります。
3
472222226
分散の値は $\frac{17}{36}$ですが、問題文中の指示に従って $17 \times 27777778 \bmod 10^9+7 = 472222226$ を出力してください。
10
309669455