F. Дерево и XOR
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Дан связный неориентированный граф без циклов (то есть дерево) на $$$n$$$ вершинах, при этом на каждом ребре написано какое-то целое неотрицательное число.

Рассмотрим все пары вершин $$$(v, u)$$$ (то есть всего $$$n^2$$$ таких пар) и для каждой пары посчитаем побитовое исключащее ИЛИ (xor) всех чисел на рёбрах на простом пути между $$$v$$$ и $$$u$$$. Если путь состоял только из одной вершины, то xor всех чисел на рёбрах этого пути считается равным $$$0$$$.

Предположим, мы отсортировали полученные $$$n^2$$$ значений по неубыванию. Требуется вывести $$$k$$$-е из них.

Операция xor определяется следующим образом:

Пусть даны два целых неотрицательных числа $$$x$$$ и $$$y$$$, рассмотрим их двоичные записи (возможно с ведущими нулями): $$$x_k \dots x_2 x_1 x_0$$$ и $$$y_k \dots y_2 y_1 y_0$$$ (где $$$k$$$ любое число, что все биты $$$x$$$ и $$$y$$$ могут быть представлены). Здесь $$$x_i$$$ это $$$i$$$-й бит числа $$$x$$$, а $$$y_i$$$ это $$$i$$$-й бит числа $$$y$$$.

Пусть $$$r = x \oplus y$$$ — результат операции xor над числами $$$x$$$ и $$$y$$$. Тогда двоичной записью $$$r$$$ будет $$$r_k \dots r_2 r_1 r_0$$$, где:

$$$$$$ r_i = \left\{ \begin{aligned} 1, ~ \text{если} ~ x_i \ne y_i \\ 0, ~ \text{если} ~ x_i = y_i \end{aligned} \right. $$$$$$

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

Первая строка содержит два целых числа $$$n$$$ и $$$k$$$ ($$$2 \le n \le 10^6$$$, $$$1 \le k \le n^2$$$) — количество вершин в дереве и номер пути в списке по неубыванию.

Каждая из следующих $$$n - 1$$$ строк содержит два целых числа $$$p_i$$$ и $$$w_i$$$ ($$$1 \le p_i \le i$$$, $$$0 \le w_i < 2^{62}$$$) — предка вершины $$$i + 1$$$ и вес соответствующего ребра.

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

Выведите одно целое число — $$$k$$$-й по возрастанию xor пути в дереве.

Примеры
Входные данные
2 1
1 3
Выходные данные
0
Входные данные
3 6
1 2
1 3
Выходные данные
2
Примечание

Дерево во втором тесте выглядит следующим образом:

В таком дереве существует $$$9$$$ путей:

  1. $$$1 \to 1$$$ со значением $$$0$$$
  2. $$$2 \to 2$$$ со значением $$$0$$$
  3. $$$3 \to 3$$$ со значением $$$0$$$
  4. $$$2 \to 3$$$ (проходит через $$$1$$$) со значением $$$1 = 2 \oplus 3$$$
  5. $$$3 \to 2$$$ (проходит через $$$1$$$) со значением $$$1 = 2 \oplus 3$$$
  6. $$$1 \to 2$$$ со значением $$$2$$$
  7. $$$2 \to 1$$$ со значением $$$2$$$
  8. $$$1 \to 3$$$ со значением $$$3$$$
  9. $$$3 \to 1$$$ со значением $$$3$$$