Интернет-олимпиады, Сезон 2023-2024, Первая личная олимпиада
Statement is not available in English language
A. Фрирен и гримуары
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Однажды, во время своего путешествия, Фрирен наткнулась на магазин гримуаров, и как можно догадаться, купила $$$n$$$ гримуаров, потратив на это почти все свои сбережения. Придя домой, Фрирен поверхностно изучила каждый из них, и охарактеризовала $$$i$$$-й гримуар двумя параметрами $$$a_i$$$ (сложность) и $$$b_i$$$ (потенциал).

Так как Фрирен никуда не торопится, при изучении для нее интересен не только потенциал полученных знаний, но и удовольствие от разбора сложных гримуаров. Поэтому она решила, что будет изучать гримуары в особом порядке. Если ей скучно, она будет изучать самый сложный гримуар (с максимальным $$$a_i$$$) из всех доступных; а если она почувствует, что ей хочется узнать что-то совершенно новое, она выберет гримуар с самым большим потенциалом $$$b_i$$$.

Если есть несколько гримуаров с максимальным интересующим Фрирен параметром, то она выберет тот из них, у которого максимален второй параметр, а если и вторые параметры равны, то Фрирен возьмет тот из них, который она купила раньше.

Фрирен будет выбирать книги по настроению и, очевидно, не будет заново изучать уже прочитанный гримуар. Поэтому Ферн планирует уже изученные гримуары продавать, чтобы хоть немного восстановить денежные ресурсы команды. Но, чтобы случайно не продать еще не изученный гримуар, она просит вас вывести, в каком порядке Фрирен будет их читать.

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

В первой строке ввода дано целое число $$$n$$$ — количество купленных гримуаров ($$$1 \le n \le 10^5$$$).

Во второй строке через пробел перечислены $$$n$$$ целых чисел $$$a_i$$$ — значения сложности гримуаров в порядке их покупки ($$$1 \le a_i \le 10^9$$$). В третьей строке в том же формате даны целые числа $$$b_i$$$ — значения потенциалов гримуаров ($$$1 \le b_i \le 10^9$$$).

В последней строке через пробел перечислены $$$n$$$ целых чисел $$$p_i$$$ — индикаторы настроения Фрирен перед выбором $$$i$$$-го гримуара. Если $$$p_i = 1$$$, Фрирен будет выбирать гримуар с максимальным потенциалом, иначе $$$p_i = 0$$$ и Фрирен выберет самый сложный из доступных гримуаров.

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

Выведите $$$n$$$ различных целых чисел от $$$1$$$ до $$$n$$$, разделенных пробелами; $$$i$$$-е число должно быть равно номеру гримуара, который выберет Фрирен в $$$i$$$-й раз.

Система оценки

Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.

ПодзадачаБаллыОграничения Необходимые подзадачи Информация о проверке
110$$$n, a_i, b_i \le 10$$$полная
25все $$$a_i$$$ одинаковыпервая ошибка
310 $$$1 \le a_i, b_i \leq n$$$, $$$a_i \ne a_j$$$ и $$$b_i \ne b_j$$$ для всех $$$i \ne j$$$ первая ошибка
430$$$n \le 1000$$$1первая ошибка
55 для любых $$$i \ne j$$$ пары $$$(a_i, b_i)$$$ и $$$(a_j, b_j)$$$ различны 3первая ошибка
640без дополнительных ограничений1 – 5первая ошибка
Примеры
Входные данные
5
1 2 3 4 5
5 4 3 2 1
1 0 1 0 0
Выходные данные
1 5 2 4 3 
Входные данные
6
3 10 6 2 10 1
3 5 10 7 5 9
0 0 1 1 0 1
Выходные данные
2 5 3 6 1 4 

Statement is not available in English language
B. Фрирен и барьер
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Фрирен анализирует барьер, возведенный Зерие над территорией проведения первого теста в экзамене на мага первого класса. Зерие — одна из древнейших и наиболее могущественных магов, поэтому разрушить этот барьер будет непросто. Но и Фрирен тоже имеет огромный тысячелетний опыт за плечами, поэтому сразу поняла, что барьер параметризован $$$n$$$ целыми числами $$$a_i$$$.

Для того, чтобы разрушить барьер, Фрирен необходимо по этим $$$a_i$$$ найти ключевую последовательность этого барьера. Ключевая последовательность состоит ровно из $$$k$$$ целых чисел $$$b_i$$$, где $$$$$$b_i = \mathtt{mex}\left( \left\lfloor\frac{a_1}{i}\right\rfloor, \left\lfloor\frac{a_2}{i}\right\rfloor, \ldots, \left\lfloor\frac{a_n}{i}\right\rfloor \right) \text{.}$$$$$$

Здесь $$$\mathtt{mex}$$$ означает минимальное целое неотрицательное число, которое отсутствует в последовательности, а $$$\left\lfloor\frac{a_j}{i}\right\rfloor$$$ — неполное частное при делении $$$a_j$$$ на $$$i$$$. Например, при $$$i = 3$$$ и $$$a = [1, 2, 5, 6, 13, 23]$$$, после деления на $$$i$$$ мы получим последовательность $$$[0, 0, 1, 2, 4, 7]$$$, и $$$\mathtt{mex}(0, 0, 1, 2, 4, 7) = 3$$$.

Иными словами, требуется для каждого $$$i$$$ от $$$1$$$ до $$$k$$$ найти $$$\mathtt{mex}$$$ последовательности, образованной из $$$a$$$ делением нацело на $$$i$$$. Помогите Фрирен найти ключевую последовательность барьера, чтобы она могла его разрушить и помочь своим сокомандникам.

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

В первой строке ввода через пробел даны два целых числа $$$n$$$ и $$$k$$$ — длина последовательности $$$a$$$ и длина искомой ключевой последовательности ($$$1 \le n, k \le 10^6$$$).

Во второй строке ввода через пробел перечислены $$$n$$$ целых чисел $$$a_i$$$ — элементы последовательности параметров барьера ($$$0 \le a_i \le 10^6$$$).

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

В единственной строке ввода через пробел выведите $$$k$$$ целых чисел — элементы ключевой последовательности барьера.

Система оценки

Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.

ПодзадачаБаллыОграничения Необходимые подзадачи Информация о проверке
112$$$n, k \le 100$$$полная
213$$$a_i \le 10$$$ для всех $$$i$$$первая ошибка
313$$$n \le 10$$$первая ошибка
412$$$n, k \le 1000$$$1первая ошибка
521$$$n, k \le 10^5$$$1, 4первая ошибка
629без дополнительных ограничений1 – 5первая ошибка
Примеры
Входные данные
6 5
1 5 23 6 13 2
Выходные данные
0 4 3 2 3 
Входные данные
10 10
5 9 8 13 25 7 11 6 45 10
Выходные данные
0 0 0 0 0 3 2 2 3 3 

Statement is not available in English language
C. Фрирен и интересные вопросы
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Несмотря на юную внешность, Фрирен прожила больше тысячи лет. Восприятие времени эльфийки отличается от человеческого, и год-другой для нее ничего не стоит. Тем не менее, она хорошо помнит, что в $$$i$$$-й год жизни с ней произошли $$$a_i$$$ хороших событий и $$$b_i$$$ плохих.

Однажды Ферн, ученица Фрирен, стала расспрашивать наставницу о ее прошлом. Она задала $$$q$$$ вопросов, в $$$i$$$-м из которых упомянула два года из жизни Фрирен: $$$x_i$$$-й и $$$y_i$$$-й. Фрирен, хоть и хорошо помнит свою жизнь, не хочет отвечать на скучные вопросы, поэтому некоторые из них останутся без ответа.

Скажем, что два года $$$x$$$ и $$$y$$$ являются

  • $$$a$$$-интересными, если $$$a_x$$$ делится на $$$a_y$$$ или, наоборот, является его делителем;
  • $$$ab$$$-интересными, если $$$a_x = b_y$$$ или $$$a_y = b_x$$$;
  • взаимно интересными, если либо они $$$a$$$-интересные, либо они $$$ab$$$-интересные, либо существует год $$$z$$$, что $$$x$$$ и $$$z$$$ взаимно интересные и $$$y$$$ и $$$z$$$ взаимно интересные.

Иными словами, если есть последовательность лет $$$x_1, \ldots, x_k$$$, что любые $$$x_i$$$ и $$$x_{i+1}$$$ либо $$$a$$$-интересные, либо $$$ab$$$-интересные, Фрирен считает $$$x_1$$$ и $$$x_k$$$ взаимно интересными.

Подскажите Ферн, какие из ее вопросов будут интересными (то есть упоминаемые в них года $$$x_i$$$ и $$$y_i$$$ взаимно интересные для Фрирен), а какие — нет.

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

В первой строке ввода дано одно целое число $$$n$$$ — количество лет, прожитых Фрирен ($$$2 \le n \le 3 \cdot 10^5$$$).

Во второй строке через пробел перечислены $$$n$$$ целых чисел $$$a_i$$$ — количество хороших событий, произошедших с Фрирен в каждый год ее жизни ($$$1 \le a_i \le 3 \cdot 10^5$$$). Во третьей строке в том же формате даны $$$n$$$ целых чисел $$$b_i$$$ — количество плохих событий, произошедших с Фрирен в каждый год ее жизни ($$$0 \le b_i \le 3 \cdot 10^5$$$).

В четвертой строке ввода дано одно целое число $$$q$$$ — количество вопросов, которые хочет задать Ферн ($$$1 \le q \leq 5 \cdot 10^5$$$).

В $$$i$$$-й из следующих $$$q$$$ строк дана пара целых чисел $$$x_i$$$ и $$$y_i$$$ — упомянутые Ферн в $$$i$$$-м вопросе года из жизни Фрирен ($$$1 \le x_i, y_i \le n$$$).

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

Выведите $$$q$$$ строк, в $$$i$$$-й из которых выведите ответ на соответствующий запрос. Выведите «YES» (без кавычек), если $$$i$$$-й вопрос Ферн будет интересным, а иначе выведите «NO».

Система оценки

Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.

ПодзадачаБаллыОграничения Необходимые подзадачи Информация о проверке
113$$$n, q \le 100$$$полная
214$$$b_i = 0$$$ для всех $$$i$$$первая ошибка
314$$$a_i$$$ — простое для всех $$$i$$$первая ошибка
414$$$n, q \le 1000$$$1первая ошибка
518$$$n \le 5000$$$, $$$q \le 5 \cdot 10^5$$$1, 4первая ошибка
627без дополнительных ограничений1 – 5первая ошибка
Примеры
Входные данные
4
7 5 2 10
2 7 2 11
6
1 2
1 3
1 4
2 3
2 4
3 4
Выходные данные
YES
YES
YES
YES
YES
YES
Входные данные
6
2 3 4 5 6 7
9 9 9 9 9 9
5
1 2
1 4
1 5
4 6
4 5
Выходные данные
YES
NO
YES
NO
NO

D. Historic Memories
time limit per test
5 seconds
memory limit per test
1024 megabytes
input
standard input
output
standard output

Many decades have passed since the great war. Humans are not destined to live too long, so with the change of generations, even such events from the past are gradually forgotten.

You set out on a journey to visit the places where the team of heroes passed during their trip. The map of the continent is represented as a tree, meaning that there is a unique path between any two of the $$$n$$$ cities. Traveling along each edge of the tree takes exactly one year.

In addition, each city is characterized by the value $$$s_i$$$ — the level of memory of the events of those days. It is known that with each passing year, the level of memory in all cities decreases by $$$1$$$. Sometimes events of the following types occur:

  • "- $$$t_i$$$ $$$x_i$$$" — at the beginning of year $$$t_i$$$, someone erects or restores a monument to the heroes and organizes an annual celebration in honor of the heroes' victory in city $$$x_i$$$. Then, starting from this year inclusive, the memory in this city stops decreasing.
  • "+ $$$t_i$$$ $$$x_i$$$" — at the beginning of year $$$t_i$$$, a monument is destroyed or the celebration is canceled in city $$$x_i$$$. Then, starting from this year inclusive, the level of memory in this city begins to decrease annually by $$$1$$$ again.

The level of memory does not drop below $$$0$$$ and can never increase. It is guaranteed that events of type '+' can occur only if before that the last event that occurred in the same city was of type '-'. Similarly, an event of type '-' cannot follow another event of type '-' in the same city.

You are interested in questions of the form "if at the beginning of year $$$t'_i$$$ you set out on a journey from city $$$x'_i$$$, and no more changes of type '+' or '-' will occur in the cities, what is the maximum level of memory about the heroes can you encounter?". Find an answer for every such query.

Input

The first line of the input contains two integers $$$n$$$ and $$$q$$$ separated by a space — the number of cities on the continent and the number of queries ($$$1 \le n, q \le 10^5$$$).

The second line contains $$$n$$$ integers $$$s_i$$$ — the initial levels of memory in the cities at the beginning of year number $$$0$$$ ($$$0 \le s_i \le 10^9$$$).

The next $$$n - 1$$$ lines contain a description of the edges of the tree: the $$$i$$$-th line contains a pair of integers $$$u_i$$$ and $$$v_i$$$ — the numbers of cities connected by the $$$i$$$-th edge ($$$1 \le u_i, v_i \le n$$$). It is guaranteed that there is a unique path from any vertex to any other vertex.

The next $$$q$$$ lines contain a description of the queries. Each query begins with the symbol '-', '+', or '?'. In the first two cases, two integers $$$t_i$$$ and $$$x_i$$$ follow the symbol, which mean "stop ('-') or resume ('+') the process of decreasing the level of memory in city $$$x_i$$$, starting from year $$$t_i$$$ inclusive". Otherwise, two integers $$$t'_i$$$ and $$$x'_i$$$ follow the symbol, representing the query "what is the maximum level of memory that can be encountered by leaving city $$$x'_i$$$ at the beginning of year $$$t'_i$$$?" ($$$0 \le t_i, t'_i \le 10^9$$$; $$$1 \le x_i, x'_i \le n$$$).

The queries are listed in chronological order. It is guaranteed that queries of types '-' and '+' with the same city alternate, and the first in this sequence must be '-'.

Output

For each query of type '?', output the answer to it on a separate line. Note that when answering such a query, you should not take into account subsequent queries of types '-' and '+'.

Examples
Input
3 9
5 7 4
1 2
1 3
- 0 3
? 0 1
? 0 2
? 0 3
+ 3 3
- 4 1
? 5 1
? 5 2
? 5 3
Output
6
7
5
1
2
2
Input
5 9
5 7 4 0 0
1 2
1 3
3 4
3 5
- 0 3
? 0 1
? 0 2
? 0 3
+ 4 3
- 5 1
? 5 1
? 5 2
? 5 3
Output
6
7
5
2
2
3