#P005919. 最强联盟

最强联盟

题目描述

nn 个部落,编号为 11nn。部落之间由 n1n-1 条道路连接,形成一棵树。部落 ii 的战斗力为 AiA_i

如果若干个部落在树上连通,并且存在一个大于 11 的整数,能够整除这些部落的全部战斗力,那么这些部落可以组成一个联盟。

请求出一个联盟最多可以包含多少个部落。

输入格式

第一行包含一个整数 nn

接下来 n1n-1 行,每行包含两个整数 x,yx,y,表示部落 xx 和部落 yy 之间有一条道路。

最后一行包含 nn 个整数 A1,A2,,AnA_1,A_2,\ldots,A_n,表示各部落的战斗力。

输出格式

输出一个整数,表示一个联盟最多可以包含的部落数量。

样例

3
1 2
2 3
20 15 9
2
5
1 2
1 3
2 4
2 5
10 8 9 12 10
4
10
4 1
1 3
3 8
8 7
7 9
3 5
4 2
9 6
8 10
10 20 5 40 25 12 9 35 15 6
6

数据范围与提示

  • 对于 15%15\% 的数据,1n10001 \le n \le 1000
  • 对于 100%100\% 的数据,1n1051 \le n \le 10^5
  • 1Ai1091 \le A_i \le 10^9
  • 输入的道路保证构成一棵树