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