Codeforces Round 233 (Div. 1) |
---|
Закончено |
Пользователь ainta решил запустить новую систему мгновенных сообщений под названием «aintalk». Используя aintalk, каждый пользователь может беседовать с другими. Пользователь ainta создал прототипы некоторых функций для реализации этой системы.
Пользователь ainta реализовал описанные функции, но до того, как выпустить релиз системы, он хочет удостовериться, что его код правильный. Помогите ainta проверить код, промоделируйте работу его функций.
Так как сейчас сервер сообщений тестируется некоторыми пользователями, пронумерованными от 1 до n, нет метода, реализующего регистрацию. В момент начала проверки кода некоторые пользователи могут быть online, и у некоторых пользователей могут быть друзья.
В первой строке записано три целых числа через пробел n, m и q (1 ≤ n ≤ 50000; 1 ≤ m ≤ 150000; 1 ≤ q ≤ 250000) — количество пользователей, количество пар друзей, и количество запросов.
Вторая строка содержит целое число o (1 ≤ o ≤ n) — количество онлайн-юзеров перед началом моделирования. В третьей строке записано o целых чисел через пробел x1, x2, ..., xo (1 ≤ xi ≤ n) — идентификаторы онлайн-юзеров. Гарантируется, что эти значения различны.
Каждая из следующих m строк содержит два целых числа через пробел, ai и bi (1 ≤ ai, bi ≤ n; ai ≠ bi) — идентификаторы двух пользователей, которые уже дружат перед началом моделирования. Гарантируется, что во входных данных не записано кратных дружеских связей. Обратите внимание, что дружба — двусторонняя связь.
Следующие q строк описывают q запросов в следующем формате:
Для каждого запроса count_online_friends(u), выведите необходимый ответ в единственной строке.
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
Название |
---|