编程题
### **问题描述**
小蓝是一位资深的植物学家,他专注于研究植物的相互关系和生命力。在他所照料的森林中,每个品种的植物都拥有独特的生命力,彼此之间互不相同。
植物的生命力会影响其下级品种的生长。具体地,如果下级品种的生命力数值无法被上级品种的生命力数值整除,或者下级品种的生命力数值大于上级品种的生命力数值时,它们便会受到压制,无法茁壮成长。
为了深入研究和定量分析这一现象,小蓝构建了一种模型。他将森林中的植物品种关系抽象成了一棵包含 $n$ 个节点的树,节点的编号从 $1$ 到 $n$,代表不同的植物品种。其中,树的根节点编号为 $s$,节点 $i$($1\leq i \leq n$) 的生命力表示为 $a_i$。
现在,小蓝想要对于每个节点 $i$,统计其子树(以 $i$ 为根的子树)中同时满足以下两个条件的子节点的数量:
1. 子节点的生命力小于节点 $i$ 的生命力 $a_i$。
2. 子节点的生命力无法被节点 $i$ 的生命力 $a_i$ 整除。
请你帮助小蓝计算出所有子树中满足条件的节点个数的总和。
### **输入格式**
第一行包含两个整数 $n$ 和 $s$,分别代表节点的数量和根节点的编号。
第二行包含 $n$ 个互不相同的整数 $a_1, a_2, \ldots, a_n$,其中 $a_i$ 表示编号为 $i$ 的节点的生命力。
接下来的 $n - 1$ 行,每行包含两个整数 $u$ 和 $v$,表示编号为 $u$ 和 $v$ 的节点之间存在一条边。
### **输出格式**
输出一个整数,表示所有子树中满足条件的节点个数的总和。
### **样例输入**
```text
6 1
6 5 3 2 4 1
1 2
1 3
2 4
2 5
3 6
```
### **样例输出**
```text
4
```
### **样例说明**
在给定的样例中,树的结构如下:
```text
1
/ \
2 3
/ \ \
4 5 6
```
在以 $1$ 为根的子树中,满足条件的节点有 $2,5$,个数为 $2$。
在以 $2$ 为根的子树中,满足条件的节点有 $4,5$,个数为 $2$。
在以 $3\sim 6$ 为根的子树中,没有满足条件的节点,个数均为 $0$。
因此答案为 $2+2 = 4$。
### **评测用例规模与约定**
对于 $30\\%$ 的评测用例,$1\leq n \leq 2\times 10^3$,$1\leq s, u, v, a_i \leq n$,$a_1,a_2,\dots, a_n$ 互不相同。
对于所有的评测用例,$1\leq n \leq 2\times 10^5$,$1\leq s, u, v, a_i \leq n$,$a_1,a_2,\dots, a_n$ 互不相同。