BTCODE_G - Coloring Trees

Nivash and Bhoopathi play a game of memory, which goes as follows: There is a tree containing 'N' nodes, all of which are initially uncoloured. In the game, Nivash has 2 moves:

  1. Command: Color a particular node with a given color.
  2. Query: Ask Bhoopathi if the path from node 'a' to node 'b' (both inclusive), is monochromatic or not. (i.e Whether all nodes on the path have the same color).

Nivash can do these steps in any order he wishes and he colors each node atmost once. Whenever Nivash puts forth a 'Query' at Bhoopathi, Bhoopathi has to recollect the colouring of the tree and reply either "YES" or "NO". Can your help Bhoopathi answer these queries?

Input

The first line of input contains an integer 'N', denoting the number of nodes in the tree. The next 'N-1' lines contain 2 space separated integers 'u' and 'v', denoting an edge between vertex 'u' and vertex 'v'.

The next line contains an integer 'Q', denoting the number of inputs (commands and queries) which Nivash wants to give. The next 'Q' lines contain 3 space separated integers 'x', 'a', 'b'. If 'x' is 1, it denotes a command to color node 'a' with a color 'b'. If 'x' is 2, it denotes a query and Bhoopathi should answer if the path from node 'a' to node 'b' (both inclusive), is monochromatic or not.

All vertices of the tree are 0 based.

Output

For each query, output "YES" or "NO" (quotes for clarity), denoting whether the path from node 'a' to node 'b' (both inclusive), is monochromatic or not.

Output "NO", even if all nodes on the path from node 'a' to node 'b' (both inclusive) are uncolored.

Constraints

1 <= N <= 100000
1 <= Q <= 200000
1 <= color value <= 30.

Example

Input:
3
0 1
1 2
7
1 0 11
2 0 1
2 0 2
1 2 12
1 1 11
2 0 1
2 0 2

Output:
NO
NO
YES
NO

Explanation

Initially node '0' is colored with color '11', so path between node '0' and node '1' is not monochromatic. Hence, the answer is "NO". The same explanation holds for the path between node '0' and node '2'. Then node '2' is colored with color '12' and node '1' with color '11'. Now, all nodes on the path between node '0' and node '1' are colored with only one color ('11'), so the answer is "YES". The path between node '0' and node '2' has 2 colors ('11' and '12'), hence the answer is "NO".


Added by:suhash
Date:2011-02-26
Time limit:0.207s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:Bytecode 2011, NIT Trichy, India

hide comments
2015-01-29 14:35:01 VISHAL DEEPAK AWATHARE
can we expect the

Last edit: 2015-01-30 06:08:39
2014-01-16 23:18:16 praveen123
Seems like test cases are not that strong. I was using 1 based tree indexing, but still it got passed. Quite surprised.
2011-03-20 18:07:02 suhash
@irakli: no!
2011-03-20 12:12:21 irakli darbuashvili
does v always equals to u+1 ,or its only on this test case
2011-03-04 18:33:15 suhash
Nope! If all nodes on a path are uncolored, output "NO"!
2011-02-27 00:13:49 :D
Is "uncolour" also regarded as colour?
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.