Молочные посещения (Золото)
Фермер Джон планирует построить n ферм, которые будут соединены n - 1 дорогами, образуя дерево (то есть все фермы достижимы друг из друга, циклов нет). Каждая ферма содержит корову с целочисленным типом T[i]
от 1 до n включительно.
m друзей фермера Джона часто навещают его. Во время визита друга i фермер Джон будет идти с ним по уникальному набору дорог от фермы A[i]
до фермы B[i]
(возможно, что A[i]
= B[i]
). Кроме того, они могут попробовать молока от любой коровы на своем пути. Поскольку большинство друзей фермера Джона также являются фермерами, у них очень сильные предпочтения в отношении молока. Каждый из его друзей будет пить молоко только от определенной породы коров. Любой из друзей фермера Джона будет счастлив только в том случае, если сможет выпить предпочитаемый сорт молока во время своего визита.
Определите, будет ли счастлив каждый друг в результате визита.
Входные данные
Первая строка содержит два целых числа n (1 ≤ n ≤ 10^5
) и m (1 ≤ m ≤ 10^5
). Во второй строке записано n целых чисел T[1]
, T[2]
,..., T[n]
. Тип коровы на i -ой ферме обозначается T[i]
.
Следующие n - 1 строк содержат по два различных целых числа x и y (1 ≤ x, y ≤ n), что указывает на то, что между фермами x и y существует дорога.
В следующих m строках записаны целые числа A[i]
, B[i]
и C[i]
. A[i]
и B[i]
представляют собой конечные точки пути, пройденного во время посещения друга i, в то время как C[i]
(1 ≤ C[i]
≤ n) указывает на сорт коровы, молоко которой любит пить друг.
Выходные данные
Выведите двоичную строку длины m. i - ый символ строки должен быть '1', если i - ый друг будет счастлив, и '0' в противном случае.
Пример
В этом примере путь от 1 до 4 включает фермы 1, 2 и 4. Все они содержат коров типа 1, поэтому первый друг будет доволен, а второй - нет.