D. Деревянные запросы
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Роман посадил дерево из n вершин. В каждой вершине записана строчная английская буква. Вершина 1 является корнем дерева, у каждой из n - 1 оставшихся вершин есть предок в дереве, с которым вершина соединена ребром. Предком вершины i является вершина pi, причём номер предка всегда меньше, чем номер вершины (то есть, pi < i).

Глубина вершины — это количество вершин на пути по рёбрам от корня до v. В частности, глубина корня равна 1.

Скажем, что вершина u лежит в поддереве вершины v, если мы можем попасть из u в v, переходя из вершины в предка. В частности, вершина v лежит в своём поддереве.

Рома даёт вам m запросов, i-й из которых задаётся двумя числами vi, hi. Рассмотрим вершины, лежащие в поддереве vi, и находящиеся на глубине hi. Определите, можно ли из букв, записанных в этих вершинах, составить строку, являющуюся палиндромом? Буквы, записанные в вершинах, можно переставить в произвольном порядке для составления палиндрома.

Входные данные

В первой строке находятся два целых числа n, m (1 ≤ n, m ≤ 500 000) — количество вершин в дереве и запросов соответственно.

В следующей строке находятся n - 1 целых чисел p2, p3, ..., pn — предки вершин со второй по n-ю вершин (1 ≤ pi < i).

В следующей строке находятся n строчных английских букв, i-я из этих букв написана на вершине i.

В последующих m строках описаны запросы, в i-й строке находятся два числа vi, hi (1 ≤ vi, hi ≤ n) — вершина и глубина, фигурирующие в i-м запросе.

Выходные данные

Выведите m строк. В i-й строке выведите «Yes» (без кавычек), если в i-м запросе возможно составить палиндром из букв, написанных на вершинах, иначе выведите «No» (без кавычек).

Примеры
Входные данные
6 5
1 1 1 3 3
zacccd
1 1
3 3
4 1
6 1
1 2
Выходные данные
Yes
No
Yes
Yes
Yes
Примечание

Строка s является палиндромом, если она одинаково читается слева направо и справа налево. В частности, пустая строка является палиндромом.

Пояснение к тесту из условия.

В первом запросе существует единственная вершина 1, подходящая под все условия, мы можем составить палиндром "z".

Во втором запросе вершины 5 и 6 удовлетворяют условиям, на этих вершинах написаны буквы "с" и "d". Составить палиндром невозможно.

В третьем запросе не существует ни одной вершины на глубине 1 в поддереве вершины 4. Мы можем составить пустой палиндром.

В четвертом запросе не существует вершин в поддереве 6 на глубине 1. Мы можем составить пустой палиндром.

В пятом запросе вершины 2, 3 и 4 удовлетворяют условиям, на этих вершинах написаны буквы a, с и с. Мы можем составить палиндром "cac"