#P5216. 「泉州基地校201811D3」3.胖哥旅游

「泉州基地校201811D3」3.胖哥旅游

Description

有 nn 个景点,编号从 11 到 nn 。对所有景点,胖哥给他们做了一个排名。

景点之间由道路连接。若一个景点 aa 可以通过若干个节点到另一个景点 bb ,则称这两个景点是连通的。

现在有两种操作:

B x y 表示在景点 xx 与景点 yy 之间修建一条道路。

Q x k 表示询问当前与景点 xx 连通的所有景点中,排名第 kk 的景点是哪个,请你输出那个景点的编号。

Input Format

输入文件名为travel.in。

第一行两个正整数 nn 和 mm ,分别表示景点的个数以及一开始存在的道路数。

接下来的一行有 nn 个数,依次描述胖哥给景点 11 到景点 nn 的排名(排名用 11 到 nn 来表示)。

随后的mm行每行两个正整数 aa 和 bb ,表示一开始就存在一条连接景点 aa 与景点 bb 的道路。

后面剩下的部分描述操作。

该部分的第一行是一个正整数 qq ,表示一共有 qq 个操作。

接下来的 qq 行依次描述每个操作,操作的格式如上所述,以大写字母 Q 或 B 开始,后面跟两个不超过 nn 的正整数。

Output Format

输出文件为travel.out。

对于每个 Q x k 操作都要依次输出一行,其中包含一个整数,表示所询问景点的编号。如果该景点不存在,则输出 −1-1。

Sample

travel.in

5 1
4 3 2 5 1
1 2
7
Q 3 2
Q 2 1
B 2 3
B 1 5
Q 2 1
Q 2 4
Q 2 3

travel.out

-1
2
5
1
2

Hint

对于 30%30\% 的数据 n≤1000,q≤1000n \le 1000,q \le 1000

对于 60%60\% 的数据 n≤10000,q≤10000n \le 10000,q \le 10000

对于 100%100\% 的数据 n≤100000,m≤n,q≤300000n \le 100000,m \le n,q \le 300000