Карту Мяуленда можно рассматривать как подвешенное дерево с $n$ вершинами и $n - 1$ рёбрами, где вершины представляют города, а ребро представляет дорогу, соединяющую два города. Столица находится в корне — вершине $1$.
Теперь Мяуленд хочет установить в некоторых городах новейшие базовые станции сети 77G. Чтобы обеспечить достаточное качество связи на каждой дороге, хотя бы в одном из городов на концах каждой дороги должна быть установлена базовая станция. Однако из-за неизвестных технических проблем в сетевой системе имеется $m$ неполадок. Неполадка $i$ описывается следующим образом: если в городе $x_i$ установлена базовая станция, то во всех городах в поддереве $x_i$, расстояние от которых до $x_i$ в точности равно $y_i$, нельзя устанавливать базовые станции; иначе станции будут создавать помехи друг другу и станут непригодными для использования.
Пожалуйста, помогите Мяуленду выбрать несколько городов так, чтобы установка базовых станций в этих городах удовлетворяла всем вышеперечисленным требованиям. Если подходящей схемы не существует, выведите No.
Входные данные
Каждый тестовый файл содержит несколько наборов входных данных. Первая строка содержит количество наборов входных данных $T$ ($1 \le T \le 10^3$). Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит целое число $n$ ($2 \le n \le 2 \times 10^5$), обозначающее количество городов.
Вторая строка содержит $n - 1$ целых чисел $f_2, f_3, \dots, f_n$ ($1 \le f_i < i$), где $f_i$ обозначает предка города $i$.
Третья строка содержит целое число $m$ ($0 \le m \le 2 \times 10^5$), обозначающее количество неполадок.
Каждая из следующих $m$ строк содержит два целых числа $x_i$ и $y_i$ ($1 \le x_i, y_i \le n$), описывающих $i$-ю неполадку. Могут существовать две одинаковые неполадки.
Для каждого тестового файла гарантируется, что сумма $n$ по всем наборам входных данных не превосходит $2 \times 10^5$, а сумма $m$ по всем наборам входных данных не превосходит $2 \times 10^5$.
Выходные данные
Для каждого набора входных данных, если подходящей схемы не существует, выведите строку No.
В противном случае выведите три строки, описывающие вашу схему:
- В первой строке выведите
Yes. - Во второй строке выведите целое число $c$, обозначающее количество выбранных вами городов.
- В третьей строке выведите $c$ различных целых чисел, обозначающих выбранные вами города.
Если подходящих схем несколько, вы можете вывести любую из них. При выводе схемы можно перечислять $c$ городов в любом порядке.
Пример
Пример входных данных 1
3 6 1 1 2 2 4 2 1 3 2 1 6 1 1 2 2 4 6 1 1 1 2 1 3 2 1 2 2 2 1 8 1 1 3 1 1 2 4 10 1 2 3 2 1 3 5 1 6 1 3 2 4 1 3 2 5 1 3 1
Пример выходных данных 1
Yes 4 5 3 4 1 No No