EduBrick

Связаны ли две вершины

4000 мс · 512 МБ · всё или ничего

Граф на nn вершинах, изначально без рёбер. Обрабатывайте запросы:

  • + u v — добавить ребро (такого ребра сейчас нет);
  • - u v — удалить ребро (такое ребро сейчас есть);
  • ? u v — вывести 1, если вершины uu и vv лежат в одной компоненте связности, и 0 иначе.

Формат ввода

В первой строке — числа nn и qq (1≤n,q≤2⋅1051 \le n, q \le 2 \cdot 10^5). Далее qq запросов; 1≤u,v≤n1 \le u, v \le n, u≠vu \ne v для рёбер.

Формат вывода

На каждый запрос ? выведите 1 или 0.

Примеры

ввод
5 8
? 1 3
+ 1 2
+ 2 3
? 1 3
- 2 3
? 1 3
? 1 2
? 4 4
вывод
0
1
0
1
1
ввод
2 1
? 1 2
вывод
0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.