#DWACON5THPRELIMSE. Cyclic GCDs
Cyclic GCDs
题目描述
ニワンゴくんは 羽のニワトリを飼っています。それぞれのニワトリは から の番号で識別され、 番目のニワトリの大きさは正の整数 です。
羽のニワトリは手をつなぎ合っていくつかの輪を作ることにしました。 輪の作り方は を並び替えた順列 を用いて表され、ニワトリ が右手 (ないし右翼) でニワトリ の左手を取ることを表します。ニワトリは自分自身の手を取ることもあります。
ニワトリ を含む 輪 を、ニワトリ からなる集合とします。 こうして 羽全てのニワトリが手を取ったとき、 羽のニワトリたちは何個かの輪に分割できることが証明できます。
輪の作り方の 美しさ はそれぞれの輪に含まれる最も小さいニワトリの大きさの積で定義されます。
を満たす について、上の方法で輪が 個できるような順列 について を足し合わせたものを とします。
の最大公約数を、modulo で求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
答えを出力せよ。
题目大意
【题目描述】
给定一个长为 的序列 。
设一个置换 的价值 为每个轮换中最小的 的乘积。
设 为有 个轮换的所有置换 的 之和。
求 。
【数据范围】
,。
提示
制約
- 入力で与えられる数値は全て整数である
Sample Explanation 1
\\(N = 2, a = \[ 4, 3 \]\\) である。 順列 \\(p = \[ 1, 2 \]\\) について、ニワトリ \\(1\\) のみからなる輪とニワトリ \\(2\\) のみからなる輪ができるので、\\(f(\[1, 2\]) = a\_1 \\times a\_2 = 12\\) である。 順列 \\(p = \[ 2, 1 \]\\) について、ニワトリ \\(1, 2\\) からなる輪ができ、その輪の最も小さいニワトリの大きさは \\(a\_2 = 3\\) なので、\\(f(\[2, 1\]) = a\_2 = 3\\) である。 以上から \\(b\_1 = f(\[2, 1\]) = 3, b\_2 = f(\[1, 2\]) = 12\\) なので、\\(b\_1\\) と \\(b\_2\\) の最大公約数は \\(3\\) である。
Sample Explanation 2
ニワトリは大きさが同じであっても互いに区別できるため、常に \\(N!\\) 通りの順列が存在する。 以下の図は \\(p = (2, 1, 4, 3), p = (3, 4, 1, 2)\\) の場合の輪の作り方および美しさである。 