Пользователь ainta решил запустить новую систему мгновенных сообщений под названием «aintalk». Используя aintalk, каждый пользователь может беседовать с другими. Пользователь ainta создал прототипы некоторых функций для реализации этой системы.
- login(u): Пользователь u заходит в aintalk и становится online.
- logout(u): Пользователь u выходит и становится offline.
- add_friend(u, v): Пользователь u и пользователь v становятся друзьями. Это значит, что u и v могут разговаривать друг с другом. Отношение дружбы симметричное.
- del_friend(u, v): Пользователи u и v прекращают дружбу. Это значит, что u и v с этого момента не могут разговаривать друг с другом.
- count_online_friends(u): Функция возвращает количество друзей пользователя u, которые на текущий момент online.
Пользователь ainta реализовал описанные функции, но до того, как выпустить релиз системы, он хочет удостовериться, что его код правильный. Помогите ainta проверить код, промоделируйте работу его функций.
Так как сейчас сервер сообщений тестируется некоторыми пользователями, пронумерованными от 1 до n, нет метода, реализующего регистрацию. В момент начала проверки кода некоторые пользователи могут быть online, и у некоторых пользователей могут быть друзья.
Выходные данные
Для каждого запроса count_online_friends(u), выведите необходимый ответ в единственной строке.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 2 9 1 4 1 3 3 4 C 3 A 2 5 O 1 D 1 3 A 1 2 A 4 2 C 2 F 4 C 2
|
1
2
1
|