Королевская задача

시간 제한3초메모리 제한1024 MB

요약
가중치가 있는 방향 그래프에서 a에서 b로 가는 모든 경로의 가중치 XOR을 다시 XOR한 값을 구하고, 정의되지 않으면 -1을 출력한다.
난이도

어려움10점 중 8점

유형
그래프, DFS, 비트 연산, 수학
정답자
아직 제출이 없습니다

문제

Совсем недавно в Берляндии была построена новая дорожная сеть. Между некоторыми парами городов есть односторонние дороги, ii-я из которых ведёт из города u_iu\_i в город v_iv\_i, а её длина равна w_iw\_i. Два главных города Берляндии имеют номера aa и bb.

Король Берляндии очень любит свою страну. В частности, он обожает подсчитывать всякие характеристики в ней. Он называет красотой пути побитовое исключающее ИЛИ длин всех дорог на этом пути. А красотой своей страны он называет побитовое исключающее ИЛИ красот всех путей из города aa в город bb. Обратите внимание, что таких путей может быть бесконечно много, и они могут проходить через один и тот же город несколько раз.

Король хочет узнать, чему равна красота его страны, а поэтому он обратился к вам за помощью и просит вас посчитать это значение или сказать, что красоту страны посчитать невозможно.

Побитовым исключающим ИЛИ множества чисел называется побитовое исключающее ИЛИ всех ненулевых чисел в этом множестве. Если в множестве бесконечно много ненулевых чисел, то побитовое исключающее ИЛИ посчитать невозможно. \\

Побитовое исключающее ИЛИ (или побитовое сложение по модулю два) --- это бинарная операция, действие которой эквивалентно применению логического исключающего ИЛИ к каждой паре битов, которые стоят на одинаковых позициях в двоичной записи операндов. Иными словами, если соответствующие биты операндов различны, то соответствующий двоичный разряд результата равен 1; если же биты одинаковые, то двоичный разряд результата равен 0. Например, если x=109_10=1101101_2x = 109\_{10} = 1101101\_2, а y=41_10=101001_2y = 41\_{10} = 101001\_2, то их побитовое исключающее ИЛИ равно x⊕y=1000100_2=68_10x \oplus y = 1000100\_2 = 68\_{10}.

Путём в графе называется последовательность вершин, в которой любые две последовательные вершины соединены ребром.

입력

Каждый тест состоит из нескольких наборов входных данных. В первой строке дано одно целое число tt (1≤t≤40,0001 \le t \le 40\\,000) --- количество наборов входных данных.

В первой строке каждого набора входных данных даны два целых числа nn и mm (1≤n,m≤200,0001 \le n, m \le 200\\,000) --- количество городов и количество дорог в Берляндии.

В следующих mm строках даны по три целых числа u_iu\_i, v_iv\_i и w_iw\_i (1≤u_i,v_i≤n1 \le u\_i, v\_i \le n, 0≤w_i≤230−10 \le w\_i \le 2^{30}-1) --- номера начала и конца ii-й дороги и её длина.

Последняя строка каждого набора входных данных содержит два целых числа aa и bb (1≤a,b≤n1 \le a, b \le n) --- номера начала и конца путей, которые интересуют короля.

Обозначим за ∑n\sum n сумму nn, а за ∑m\sum m сумму mm по всем наборам входных данных в одном тесте. Гарантируется, что ∑n≤200,000\sum n \le 200\\,000 и ∑m≤200,000\sum m \le 200\\,000.

출력

Для каждого набора входных данных выведите одно целое число --- красоту Берляндии. Если ответа не существует, то выведите −1-1.

힌트

В первом наборе входных данных в стране есть только одна дорога длины 00, поэтому красота любого пути равна 00, а тогда и побитовое исключающее ИЛИ красот всех путей равно 00.

Во втором наборе входных данных в стране есть всего 66 возможных путей из города 11 в город 33, красоты которых равны 0⊕5=5,0⊕2=2,1⊕5=4,1⊕2=3,3⊕5=6,3⊕2=10 \oplus 5 = 5, 0 \oplus 2 = 2, 1 \oplus 5 = 4, 1 \oplus 2 = 3, 3 \oplus 5 = 6, 3 \oplus 2 = 1. Тогда красота страны равна 5⊕2⊕4⊕3⊕6⊕1=75 \oplus 2 \oplus 4 \oplus 3 \oplus 6 \oplus 1 = 7.

В третьем наборе входных данных из города 11 в город 22 есть пути красоты 1,1⊕2⊕1=2,1⊕2⊕1⊕2⊕1=1,1⊕2⊕1⊕2⊕1⊕2⊕1=2,…1, 1 \oplus 2 \oplus 1 = 2, 1 \oplus 2 \oplus 1 \oplus 2 \oplus 1 = 1, 1 \oplus 2 \oplus 1 \oplus 2 \oplus 1 \oplus 2 \oplus 1 = 2, \ldots. Тогда из города 11 в город 22 есть бесконечно много путей с ненулевой красотой, а значит ответ посчитать нельзя.

В четвёртом наборе входных данных из вершины 22 в вершину 33 есть бесконечно много путей красоты 00, и нет ни одного пути с ненулевой красотой. Тогда итоговая красота страны равна 00.

예제1

  1. 예제 1

    입력
    5
    1 1
    1 1 0
    1 1
    3 5
    1 2 0
    1 2 1
    1 2 3
    2 3 5
    2 3 2
    1 3
    2 2
    1 2 1
    2 1 2
    1 2
    3 3
    1 2 7
    2 3 0
    3 1 7
    2 3
    4 5
    1 1 0
    1 2 3
    2 2 0
    2 3 1
    3 4 1
    1 4
    
    예상 출력
    0
    7
    -1
    0
    -1