# COT2 - Count on a tree II

## 题意翻译

- 给定 $n$ 个结点的树，每个结点有一种颜色。
- $m$ 次询问，每次询问给出 $u,v$，回答 $u,v$ 之间的路径上的结点的不同颜色数。
- $1\le n\le 4\times 10^4$，$1\le m\le 10^5$。

## 题目描述

You are given a tree with **N** nodes. The tree nodes are numbered from **1** to **N**. Each node has an integer weight.
We will ask you to perform the following operation:
- **u v** : ask for how many different integers that represent the weight of nodes there are on the path from **u** to **v**.

## 输入输出格式

### 输入格式

In the first line there are two integers **N** and **M**. (**N** <= 40000, **M** <= 100000)
In the second line there are **N** integers. The i-th integer denotes the weight of the i-th node.
In the next **N-1** lines, each line contains two integers **u** **v**, which describes an edge (**u**, **v**).
In the next **M** lines, each line contains two integers **u** **v**, which means an operation asking for how many different integers that represent the weight of nodes there are on the path from **u** to **v**.

### 输出格式

For each operation, print its result.

## 输入输出样例

### 输入样例 #1

```
8 2
105 2 9 3 8 5 7 7
1 2
1 3
1 4
3 5
3 6
3 7
4 8
2 5
7 8
```

### 输出样例 #1

```
4
4
```