Задан неориентированный граф со взвешенными ребрами. Длина пути между двумя вершинами — побитовое исключающее ИЛИ весов его ребер (если некоторое ребро посещается несколько раз, то в результат включается то же количество раз).
Есть три вида запросов, которые необходимо обрабатывать:
- 1 x y d — добавить ребро, соединяющее вершины x и y с весом d. Гарантируется, что до запроса не было ребра, соединяющего x и y;
- 2 x y — удалить ребро, соединяющее вершины x и y. Гарантируется, что в графе есть такое ребро и что граф останется связным после запроса;
- 3 x y — найти длину кратчайшего пути (не обязательно простого) от вершины x в вершину y.
Выведите ответы на все запросы типа 3.
Выходные данные
Выведите ответы на все запросы типа 3 в том порядке, в котором они были заданы.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 5 1 2 3 2 3 4 3 4 5 4 5 6 1 5 1 5 3 1 5 1 1 3 1 3 1 5 2 1 5 3 1 5
|
1
1
2
|