eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Скандал в Богемии

Скандал в Богемии

Лимит времени 0.5 секунд
Лимит использования памяти 256 MiB

На Бейкер-стрит 221-б тайно прибыл король Богемии, который просит Шерлока Холмса вернуть утраченное кольцо. Которое на протяжении многих веков принадлежало королям Богемии, и является символом власти, но недавно было похищено. Потеря символа власти может поднять скандал в королевстве, и таким образом ослабить власть короля.

Холмс согласился вернуть кольцо. За довольно короткое время доктор Ватсон и Шерлок Холмс узнают, что кольцо находится в доме Ирен Адлер. Холмс переодевшись в священника и сделав из себя раненого попадает в дом. Тем временем в доме начался пожар. Во время которой, некоторые проходы между комнатами блокируются, а некоторые появляются.

Так как дом очень большой, Холмс просит вашей помощи. При поиске, детектив будет говорить, какие проходы появились, а какие исчезли. А также будет задавать вопросы: "Можно ли в данный момент из комнаты a попасть в комнату b?"

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

Первая строка содержит два числа n (1n50000) и m (1m50000), где n — количество комнат в доме, m— количество запросов. Все комнаты имеют номера от 1 до n. В следующих m строках содержатся запросы трех типов:

  • + a b - из комнаты a появился маршрут в комнату b;

  • - a b - из комнаты a теперь нельзя попасть в комнату b;

  • ? a b — выяснить, можно ли из комнаты a попасть в комнату b в текущий момент.

Сначала все проходы между комнатами заблокированы. Гарантируется, что в каждом запросе (ab).

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

Для каждого запроса третьего типа в отдельной строке нужно вывести Yes - если из комнаты a можно попасть в комнату b, или No - в противном случае.

Пример

Входные данные #1
5 7
+ 1 2
+ 2 3
+ 4 5
? 1 3
? 3 4
- 1 2
? 1 3

Выходные данные #1
Yes
No
No
Автор Александр Цицюра