На Бейкер-стріт 221-б таємно прибув король Богемії з проханням до Шерлока Холмса повернути втрачену каблучку. Ця каблучка протягом багатьох століть належала королям Богемії і є символом влади, але нещодавно була викрадена. Втрата цього символу може спричинити скандал у королівстві та послабити владу короля.
Холмс погодився допомогти. Незабаром доктор Ватсон і Шерлок Холмс дізнаються, що каблучка знаходиться в домі Ірен Адлер. Холмс, перевдягнувшись у священика і вдаючи пораненого, потрапляє в дім. Тим часом у будинку починається пожежа, через яку деякі проходи між кімнатами блокуються, а інші з'являються.
Оскільки дім дуже великий, Холмс звертається до вас за допомогою. Під час пошуків детектив буде повідомляти, які проходи з'явилися, а які зникли, і ставитиме запитання: "Чи можна в даний момент з кімнати потрапити в кімнату ?"
Перший рядок містить два числа (1 \leq n \leq 50000) і (1 \leq m \leq 50000), де — кількість кімнат у домі, — кількість запитів. Усі кімнати мають номери від до . У наступних рядках містяться запити трьох типів:
+ a b — з кімнати з'явився маршрут у кімнату ;
- a b — з кімнати тепер не можна потрапити в кімнату ;
? a b — з'ясувати, чи можна з кімнати потрапити в кімнату в даний момент.
Спочатку всі проходи між кімнатами заблоковані. Гарантується, що в кожному запиті (a \ne b).
Для кожного запиту третього типу в окремому рядку потрібно вивести Yes, якщо з кімнати можна потрапити в кімнату , або No в іншому випадку.
Приклад 1