配点 : 400 点
問題文
N 頂点からなる木が与えられます。i 番目の辺は頂点 ui と頂点 vi を繋いでいます。また、i 番目の頂点には正の整数 Ai が書かれています。
パス {v1,…,vn} が次の条件を満たすとき、そのパスは Coprime Path であると定義します。
- gcd(v1,…,vn)=1
頂点の組 (L,R) (1≤L<R≤N) のうち、頂点 L から頂点 R への最短パス {L,…,R} が Coprime Path であるものの個数を求めてください。
ただし、gcd(a1,…,an) は {a1,…,an} の最大公約数を表します。
制約
- 1≤N≤1000
- 1≤ui,vi≤N
- 1≤Ai≤109
- 与えられるグラフは木である
- 入力は全て整数である
入力
入力は以下の形式で標準入力から与えられます。
出力
頂点の組 (L,R) (1≤L<R≤N) のうち、頂点 L から頂点 R への最短パス {L,…,R} が Coprime Path であるものの個数を出力してください。
サンプル 1
頂点の組 (L,R) として次の 3 通りがあります。
- (L,R)=(1,2) のとき、gcd(A1,A2)=gcd(1,2)=1
- (L,R)=(1,3) のとき、gcd(A1,A3)=gcd(1,3)=1
- (L,R)=(2,3) のとき、gcd(A2,A1,A3)=gcd(2,1,3)=1
このうち、gcd が 1 となる頂点の組は 3 つあります。よって、答えは 3 です。
サンプル 2
入力2
5
6 2 3 4 1
1 2
1 3
1 4
4 5
頂点の組 (L,R) として次の 10 通りがあります。
- (L,R)=(1,2) のとき、gcd(A1,A2)=gcd(6,2)=2
- (L,R)=(1,3) のとき、gcd(A1,A3)=gcd(6,3)=3
- (L,R)=(1,4) のとき、gcd(A1,A4)=gcd(6,4)=2
- (L,R)=(1,5) のとき、gcd(A1,A4,A5)=gcd(6,4,1)=1
- (L,R)=(2,3) のとき、gcd(A2,A1,A3)=gcd(2,6,3)=1
- (L,R)=(2,4) のとき、gcd(A2,A1,A4)=gcd(2,6,4)=2
- (L,R)=(2,5) のとき、gcd(A2,A1,A4,A5)=gcd(2,6,4,1)=1
- (L,R)=(3,4) のとき、gcd(A3,A1,A4)=gcd(3,6,4)=1
- (L,R)=(3,5) のとき、gcd(A3,A1,A4,A5)=gcd(3,6,4,1)=1
- (L,R)=(4,5) のとき、gcd(A4,A5)=gcd(4,1)=1
このうち、gcd が 1 となる頂点の組は 6 つあります。よって、答えは 6 です。
サンプル 3
入力3
10
3 1 4 1 5 9 2 6 5 3
1 2
1 3
1 8
3 4
3 5
5 6
5 7
8 9
8 10