Брати по крові наносять удар у відповідь#4625

Брати по крові наносять удар у відповідь

1 секунда
256 мегабайтів
Дуже складна

Полікарп натрапив на родовід, що описує взаємини між людьми, пронумерованими від до . Кожна особа в цьому дереві може мати не більше одного безпосереднього предка. Крім того, кожен має коня певного типу: людина володіє конем типу t_x. Зверніть увагу, що типи коней можуть повторюватися.

Особа під номером називається -предком особи , якщо є безпосереднім предком .

Для k > 1, особа під номером є -предком особи , якщо у є -предок, і є (k-1)-предком цього -предка .

Родовід є ациклічним, тобто жодна особа не є власним предком ні безпосередньо, ні опосередковано (тобто нема такої особи, що вона є -предком самої себе для жодного x > 0).

Особа під номером називається -сином особи , якщо є -предком .

Полікарпа цікавлять кількість та типи коней у людей. Він записав пар чисел v_i, k_i. Ваше завдання — для кожної пари v_i, k_i визначити кінну цінність множини k_i-синів особи з номером v_i.

Кінна цінність множини людей p_1, p_2, \ldots, p_r (p_1 < p_2 < \ldots < p_r) обчислюється як (t_{p_1} \rightarrow (t_{p_2} \rightarrow (\ldots \rightarrow t_{p_r}))). Якщо множина порожня, то кінна цінність дорівнює нулю. Операція x \rightarrow y означає побітову операцію THEN над двома -бітними числами. Детальніше про цю операцію дивіться в поясненні внизу.

Вхідні дані

Перший рядок містить одне ціле число (1 \leq n \leq 10^5) — кількість людей у дереві. Наступні рядків описують кожну людину. -ий рядок містить два цілих числа t_i та r_i (0 \leq t_i \leq 10^9, 0 \leq r_i \leq n), де t_i — тип коня особи , а r_i — номер її безпосереднього предка або , якщо його немає.

Далі наведений рядок з одним цілим числом (1 \leq m \leq 10^5) — кількість запитань Полікарпа. Наступні рядків містять по парі цілих чисел v_i, k_i (1 \leq v_i, k_i \leq n).

Гарантується, що родинні зв’язки не утворюють циклів.

Вихідні дані

Виведіть цілих чисел, розділених пробілами, що відповідають відповідям на запитання Полікарпа у порядку їх надходження.

Приклади

Приклад 1

Loading
Loading

Примітка

Результат побітової операції THEN над двома -бітними числами є -бітним числом, де кожен біт визначається побітовою операцією THEN над відповідними бітами операндів. Зокрема,

10 \rightarrow 32 = 1073741813.

Таблиця істинності для операції THEN над бітами:

  • 0 \rightarrow 0 = 1;

  • 0 \rightarrow 1 = 1;

  • 1 \rightarrow 0 = 0;

  • 1 \rightarrow 1 = 1.