#abc248g. [abc248_g]GCD cost on the tree

[abc248_g]GCD cost on the tree

問題文

NN 頂点からなる無向木が与えられます。
頂点を順に頂点 11, 頂点 22, ldots\\ldots, 頂点 NN とすると、 1leqileqN11\\leq i\\leq N-1 について、ii 番目の辺は頂点 UiU_i と頂点 ViV_i を結んでいます。
また、それぞれの頂点には正整数が割り当てられており、 具体的には頂点 ii には AiA_i が割り当てられています。

相異なる 22 頂点 ss, tt 間のコスト C(s,t)C(s,t) が次のようにして定められます。

頂点 ss と頂点 tt を結ぶ単純パス上の頂点を順に p1(=s)p_1(=s), p2p_2, ldots\\ldots, pk(=t)p_k(=t) とする。 ここで、kk はパス上の(端点含む)頂点数である。
このとき、$C(s,t)=k\\times \\gcd (A_{p_1},A_{p_2},\\ldots,A_{p_k})$ で定める。
ただし、gcd(X1,X2,ldots,Xk)\\gcd (X_1,X_2,\\ldots, X_k)X1,X2,ldots,XkX_1,X_2,\\ldots, X_k の最大公約数を表す。

$\\displaystyle\\sum_{i=1}^{N-1}\\sum_{j=i+1}^N C(i,j)$ を 998244353998244353 で割ったあまりを求めてください。

制約

  • 2leqNleq1052 \\leq N \\leq 10^5
  • 1leqAileq1051 \\leq A_i\\leq 10^5
  • 1leqUi<VileqN1\\leq U_i<V_i\\leq N
  • 入力は全て整数である。
  • 与えられるグラフは木である。

入力

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

NN A1A_1 A2A_2 cdots\\cdots ANA_N U1U_1 V1V_1 U2U_2 V2V_2 vdots\\vdots UN1U_{N-1} VN1V_{N-1}

出力

$\\displaystyle\\sum_{i=1}^{N-1}\\sum_{j=i+1}^N C(i,j)$ を 998244353998244353 で割ったあまりを出力せよ。


入力例 1

4
24 30 28 7
1 2
1 3
3 4

出力例 1

47

頂点 11 と頂点 22 、頂点 11 と頂点 33 、頂点 33 と頂点 44 がそれぞれ直接辺で結ばれています。 よって、コストはそれぞれ次のように求められます。

  • C(1,2)=2timesgcd(24,30)=12C(1,2)=2\\times \\gcd(24,30)=12
  • C(1,3)=2timesgcd(24,28)=8C(1,3)=2\\times \\gcd(24,28)=8
  • C(1,4)=3timesgcd(24,28,7)=3C(1,4)=3\\times \\gcd(24,28,7)=3
  • C(2,3)=3timesgcd(30,24,28)=6C(2,3)=3\\times \\gcd(30,24,28)=6
  • C(2,4)=4timesgcd(30,24,28,7)=4C(2,4)=4\\times \\gcd(30,24,28,7)=4
  • C(3,4)=2timesgcd(28,7)=14C(3,4)=2\\times \\gcd(28,7)=14

求める値は $\\displaystyle\\sum_{i=1}^{3}\\sum_{j=i+1}^4 C(i,j)=(12+8+3)+(6+4)+14=47$ を 998244353998244353 で割ったあまりの 4747 となります。


入力例 2

10
180 168 120 144 192 200 198 160 156 150
1 2
2 3
2 4
2 5
5 6
4 7
7 8
7 9
9 10

出力例 2

1184