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

Ворог мого ворога — мій друг!

Ворог мого ворога — мій друг!

Вінні-Пух зареєструвався у новій соціальній мережі, яка називається ВЛісі. У цій соціальній мережі у кожного користувача, крім списку його друзів, був також список його ворогів. У цей список можна було додати довільного користувача, але при цьому виконувались деякі умови: \begin{enumerate} \item Якщо користувач \textbf{v} є ворогом користувача \textbf{u}, то \textbf{u} \textit{\textbf{не обов'язково}} є ворогом \textbf{v}. \item Користувач не може бути ворогом самому собі. \end{enumerate} Вінні-Пуху дуже сподобалась ця соціальна мережа. Він цілими днями сидів і записуваі, хто ж ставав чиїм ворогом, так як хотів знати усе, що відбувається у їхньому лісі. Він вважав, що ніхто не піде в гості до свого ворога. Також, на його думку, ворог ворога є другом, а довільна поважаюча своїх друзів персона повинна піти в гості до свого друга. Вінні-Пуху дуже цікав взнати - скільки ж у користувача під номером \textbf{v} друзів. Користувач \textbf{u} є другом користувача \textbf{v} за версією Вінні-Пуха, якщо виконуються деякі умови: \begin{enumerate} \item \textbf{u} є ворогом деякого ворога \textbf{v} \item \textbf{u} не є ворогом \textbf{v} \end{enumerate} Відмітимо також, що ніякий користувач сам не є своїм другом. \InputFile У першому рядку вхідного файлу задано числа \textbf{n} і \textbf{m} (\textbf{1} ≤ \textbf{n}, \textbf{m} ≤ \textbf{2000}) - кількість користувачів, зареєстрованих у соціальній мережі та кількість запитів відповідно. У наступних \textbf{m} рядках задано запити двох видів: \begin{enumerate} \item \textbf{+ v u} - користувач \textbf{v} почав вважати користувача \textbf{u} своїм ворогом \item \textbf{? v} - взнати кількість друзів користувача \textbf{v} за версією Вінні-Пуха \end{enumerate} Гарантується, що вхідні дані коректні - користувач не почне вважати себе своїм ворогом і ніякий користувач не стане ворогом іншого більше одного разу. \OutputFile Для кожного запиту \textbf{? v} виведіть одне ціле число - відповідь на нього у окремому рядку.
Ліміт часу 2 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
5 5
+ 1 2
+ 2 4
+ 2 5
+ 1 5
? 1

Вихідні дані #1
1
Автор Ніяз Нігматуллін