Когнитивные технологии. Финал 2024
Statement is not available in English language
A. Логотип VK
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Студент четвертого курса МИСИС Владислав получил задание напечатать логотипы VK для олимпиады «Когнитивные технологии». Программа для печати, которой решил воспользоваться Владислав, оказалась необычной и могла работать только с отрезками прямых. В связи с этим Владислав разработал свой дизайн логотипа, в котором используются только отрезки.

Для универсальности Владислав ввел параметр $$$h$$$, который задает высоту логотипа, где $$$3 \le h \le 10^5$$$. При этом ширина логотипа всегда равна пяти. На рисунке приведена схема того, как выглядит логотип высоты $$$h$$$ на клетчатом поле. На рисунке формула $$$[h / 2]$$$ обозначает целую часть с округлением вниз. Также на рисунке приведены примеры логотипов с высотой $$$h = 3$$$ и $$$h = 4$$$.

Теперь Владиславу нужно вычислить площадь логотипа VK высоты $$$h$$$, чтобы понимать расход краски для печати. Помогите Владиславу справиться с этой задачей.

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

В единственной строке дано единственное целое число $$$h$$$ ($$$3 \le h \le 10^5$$$) — высота логотипа VK.

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

В единственной строке выведите единственное целое число — площадь логотипа VK высоты $$$h$$$.

Примеры
Входные данные
3
Выходные данные
10
Входные данные
4
Выходные данные
13

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

Дано дерево, состоящее из $$$n$$$ вершин, пронумерованных числами от $$$1$$$ до $$$n$$$. У каждой вершины $$$v$$$ кроме корневой непосредственный предок равен $$$p_v$$$, если $$$v$$$ — корень, то выполняется $$$p_v = v$$$. Вершина $$$u$$$ называется предком $$$v$$$, если $$$u$$$ содержится на простом пути от $$$v$$$ до корня дерева. В частности, сама вершина, ее непосредственный предок и корень всегда являются ее предками.

Пусть $$$S$$$ — некоторое множество вершин дерева, обозначим через $$$\textrm{LCA}(S)$$$ наименьшего общего предка множества $$$S$$$, то есть наиболее удаленную от корня вершину, которая является предком для каждой вершины из $$$S$$$.

Например, пусть дерево состоит из $$$6$$$ вершин и имеет вид как на картинке выше. Тогда:

  • $$$\textrm{LCA}(\{2, 3\}) = 5$$$
  • $$$\textrm{LCA}(\{6, 1\}) = 1$$$
  • $$$\textrm{LCA}(\{5, 2, 3\}) = 5$$$
  • $$$\textrm{LCA}(\{3\}) = 3$$$

Требуется узнать сумму значений номеров наименьших общих предков для всех непустых подмножеств вершин дерева. Так как ответ может быть слишком большим, выведите его по модулю $$$10^9 + 7$$$

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

Первая строка входных данных содержит единственное число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.

Далее следуют описания наборов входных данных.

Первая строка каждого набора содержит целое число $$$n$$$ ($$$1 \le n \le 10^5$$$) — количество вершин в дереве.

Вторая строка каждого набора содержит $$$n$$$ целых чисел $$$p_1, p_2, \dots, p_n$$$ ($$$1 \le p_i \le n$$$) — массив предков.

Гарантируется, что массив $$$p$$$ кодирует некоторое корневое дерево, и что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$10^5$$$.

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

Для каждого набора входных данных на отдельной строке выведите единственное число — сумму значений функции $$$\textrm{LCA}$$$ по всем подмножествам вершин дерева по модулю $$$10^9 + 7$$$.

Пример
Входные данные
3
6
4 5 5 4 4 1
2
2 2
5
1 1 1 2 3
Выходные данные
250
5
44
Примечание

Первый набор входных данных соответствует дереву из условия.

Statement is not available in English language
C. Мадока и порванный фотоальбом
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Фотоальбом представляет собой прямоугольник $$$n \times m$$$, где в каждой клетке содержится ровно одна фотография. Также для каждой фотографии известно, есть ли на ней попуг. Мадока может вырезать только подпрямоугольники фотоальбома. Но при том вырезанные подпрямоугольники не могут пересекаться или касаться по сторонам.

Так, например, следующие прямоугольники нельзя вырезать, так как они касаются по стороне:

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

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

Данная задача состоит из нескольких наборов тестовых случаев.

В первой строке задано единственное число $$$t$$$ ($$$1 \leq t \leq 3000$$$) — количество тестовых случаев. Затем идет их описание.

В первой строке каждого тестового случая заданы два числа $$$n, m$$$ ($$$ 1 \leq n \leq 5, 1 \leq m \leq 10^4$$$).

Гарантируется, что сумма $$$m$$$ по всем тестовым случаям не превосходит $$$10^4$$$

Затем идут $$$n$$$ бинарных строк $$$a_1 a_2 \ldots a_m$$$, где равенство $$$a_j = 1$$$ означает, что в этой строке $$$j$$$-я фотография содержит попуга и ее нельзя вырезать.

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

Для каждого тестового случая выведите в единственной строке максимальное количество фотографий, которое можно вырезать, чтобы выполнялось условие.

Пример
Входные данные
3
2 3
000
010
4 3
101
000
000
011
4 3
000
100
000
001
Выходные данные
4
6
7
Примечание

Примеры оптимальных ответов на семплы

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

Для подготовки к олимпиаде «Когнитивные Технологии» Мадока решила все задачи в мире на сортировки перестановок. Но жюри смогли удивить ее, и дали задачу, которую она нигде до этого не видела, и она не смогла решить ее. Вот она:

Дана перестановка $$$p_1, p_2, \ldots, p_n$$$. С ней можно выполнять следующую операцию:

  • выбрать пару различных индексов $$$i, j$$$ ($$$1 \le i, j \le n$$$), где $$$p_i = 1$$$ и $$$|i - j| \le \frac{n}{2}$$$
  • поменять местами $$$p_i$$$ и $$$p_j$$$.

Нужно отсортировать перестановку не более, чем за $$$4 \cdot n$$$ операций, либо сообщить, что это невозможно.

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

Данная задача состоит из нескольких наборов входных данных.

В первой строке каждого набора задано единственное число $$$t$$$ ($$$1 \leq t \leq 5 \cdot 10^4$$$) — количество наборов входных данных. Затем идет их описание.

В первой строке каждого набора задано число $$$n$$$ ($$$3 \leq n \leq 2 \cdot 10^5$$$) — размер перестановки.

Во второй строке задана перестановка $$$p_1, p_2, \ldots, p_n$$$ ($$$1 \leq p_i \leq n$$$).

Гарантируется, что сумма $$$n$$$ по всем тестовым случаям не превосходит $$$2 \cdot 10^5$$$

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

Для набора входных данных выведите:

  • Строку, содержащую единственное число $$$-1$$$, если отсортировать перестановку указанным способом невозможно;
  • Иначе: в первой строке выведите число $$$q$$$ ($$$0 \le q \le 4 \cdot n)$$$ — количество операций. Затем выведите сами операции в порядке выполнения.

    Каждую операцию выведите на отдельной строке в формате $$$i, j$$$ $$$(1 \leq i, j \leq n, p_i = 1, |i - j| \leq \frac{n}{2}, i \neq j$$$), означающее, что нужно поменять местами $$$p_i$$$ и $$$p_j$$$.

Пример
Входные данные
2
3
3 2 1
4
3 4 2 1
Выходные данные
-1
3
4 2
2 3
3 1
Примечание

В первом тесте должно выполняться, что $$$|i - j| \le 1$$$, а во втором $$$|i - j| \le 2$$$

Так во втором тесте изначально дана перестановка $$$3, 4, 2, 1$$$, после первой операции она стала $$$3, 1, 2, 4$$$, после второй $$$3, 2, 1, 4$$$, а после третьей $$$1, 2, 3, 4$$$.

Statement is not available in English language
E. Считаем звезды
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Молодой ученый-астроном из МИСИС Виталий Олегович занимается исследованием звезд в космическом пространстве. Для своих исследований он создал модель, в которой проверяет различные гипотезы. Для очередного исследования ему понадобилась помощь программистов. Дело в том, что ему необходимо эффективно определять количество звезд внутри сферических областей пространства. Помогите молодому ученому с его задачей!

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

В первой строке через пробел заданы два целых числа $$$n$$$ и $$$q$$$ — количество звезд в модели Виталия Олеговича и количество запросов, $$$1 \le n, q \le 10^5$$$.

В следующих $$$n$$$ строках заданы координаты звезд. В каждой строке через пробел даны три целых числа $$$x, \ y, \ z$$$ — координаты очередной звезды в трехмерном пространстве, $$$1 \le x, y, z \le 10^6$$$.

Известно, что координаты всех $$$n$$$ звезд Виталий Олегович сгенерировал для своей модели так, что они являются независимыми случайными величинами с целочисленным равномерным распределением в диапазоне от $$$1$$$ до $$$10^6$$$. То есть каждая звезда с одинаковой вероятностью может получить любые целочисленные координаты $$$x, y, z$$$ с ограничениями $$$1 \le x, y, z \le 10^6$$$. При этом, разные звезды могли получить одинаковые координаты.

В следующих $$$q$$$ строках заданы запросы, ответы на которые Виталий Олегович хочет получить. В каждой строке через пробел даны четыре целых числа $$$x, \ y, \ z, \ r$$$ — координаты центра и радиус сферы, для которой нужно посчитать количество звезд лежащих строго внутри этой сферы, $$$1 \le x, y, z \le 10^6$$$, $$$1 \le r \le \bold{10^5}$$$.

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

На каждый из $$$q$$$ запросов выведите в отдельной строке единственное целое число — количество звезд, которые лежат строго внутри очередной сферы.

Пример
Входные данные
1 3
142 18468 6335
142 18468 6335 1
100 18468 6335 42
100 18468 6335 43
Выходные данные
1
0
1

Statement is not available in English language
F. Горилла и леопардик
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
32 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Факториалом целого положительного числа $$$n$$$ называется число $$$n! = 1 \cdot 2 \cdot \ldots \cdot n$$$.

Леопардовым называется число, представимое в виде произведения факториалов. Например, число $$$2880$$$ является леопардовым ($$$2! \cdot 2! \cdot 3! \cdot 5!$$$).

Горилловым называется число, представимое в виде суммы ровно трёх леопардовых чисел. Например, число $$$342$$$ является горилловым ($$$6 + 96 + 240$$$).

Красотой гориллового числа называется количество упорядоченных способов представить его в виде суммы трёх леопардовых чисел. Заметьте, что представления $$$6 + 96 + 240$$$ и $$$96 + 6 + 240$$$ считаются различными. Например, красота гориллового числа $$$6$$$ равна $$$4$$$ ($$$1 + 1 + 4$$$, $$$1 + 4 + 1$$$, $$$2 + 2 + 2$$$, $$$4 + 1 + 1$$$).

Вам предстоит ответить на $$$q$$$ запросов.

Каждый запрос задаёт отрезок целых чисел $$$[l \ldots r]$$$. Посчитайте сумму красот горилловых чисел $$$x$$$ на этом отрезке ($$$l \le x \le r$$$).

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

В первой строке дано целое число $$$q$$$ ($$$1 \le q \le 5000$$$) — количество запросов.

В следующих $$$q$$$ строках даны целые числа $$$l, r$$$ ($$$1 \le l \le r \le 10^9$$$) — отрезок запроса.

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

Выведите $$$q$$$ целых чисел — ответ для каждого запроса.

Пример
Входные данные
4
1 6
77 100500
150 1444
1 1000000000
Выходные данные
11
878262
27713
133806210
Примечание

Statement is not available in English language
G. Разработчик задач из Сбера
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Разработчик задач Олег устроился в Сбер. Ему поручили придумать новую задачу для тестирования стажеров. Он придумал совершенно новую и оригинальную задачу. В этой задаче участнику нужно посчитать в связном графе количество точек сочленения и мостов. Олег придумал красивую легенду, написал решение, однако забыл придумать тесты.

Связный граф — это граф, в котором существует путь между любой парой вершин.

Мост в связном графе — это ребро, удаление которого приводит к тому, что найдутся две вершины между которыми нет пути.

Точка сочленения в связном графе — это вершина, удаление которой приводит к тому, что найдутся две вершины между которыми нет пути.

Уже завтра олимпиада, поэтому Олег считает(из своего опыта), что одного теста в задаче достаточно. Олег хочет, чтобы в единственном тесте был задан связный граф ровно с $$$k_1$$$ мостами и $$$k_2$$$ точками сочленения. Помогите Олегу.

Можно показать, что в указанных ограничениях решение всегда существует.

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

В единственной строке даны два числа $$$k_1$$$ и $$$k_2$$$ ($$$1 \le k_1, k_2 \le 1000$$$) — количество мостов и точек сочленения в графе.

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

В первой строке выведите два числа $$$n$$$, $$$m$$$ ($$$3 \le n, m \le 10000$$$) — количество вершин и ребер в графе.

В следующих $$$m$$$ строках выведите по два целых числа $$$v_j, u_j$$$ ($$$1 \le v_j, u_j \le n$$$) — концы $$$j$$$-го ребра в графе.

Граф не должен содержать петель и кратных ребер.

Пример
Входные данные
3 2
Выходные данные
4 3
1 2
2 3
3 4
Примечание
Граф в примере.

Рёбра между вершинами $$$1$$$—$$$2$$$, $$$2$$$—$$$3$$$, $$$3$$$—$$$4$$$ являются мостами, а вершины $$$2$$$, $$$3$$$ — точками сочленения.

Разработчик задачи не Олег. В задаче больше одного теста.

Statement is not available in English language
H. Пазл
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам дано клеточное поле $$$n \times m$$$. Некоторые клетки имеют углубления, в которые можно вставлять фигурки; они обозначены символом «.», остальные клетки обозначены символом «#».

Также у вас есть фигурки трех видов, которые вы можете вставлять в любые свободные клетки поля. Они изображены на рисунке ниже:

Ваша задача состоит в том, чтобы заполнить все свободные клетки указанными фигурками или сказать, что это невозможно.

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

Первая строка ввода содержит одно число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Затем следуют описания наборов.

Первая строка каждого набора содержит пару чисел $$$n$$$ и $$$m$$$ ($$$2 \le n, m \le 10^6$$$) — высоту и ширину поля, соответственно.

Затем следуют $$$n$$$ строк, каждая из которых состоит из $$$m$$$ символов «.» или «#».

Сумма $$$n \cdot m$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^6$$$.

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

Для каждого набора входных данных выведите «No», если ответа не существует.

В ином случае в первой строке выведите «Yes», а затем выведите $$$n$$$ строк, каждая из которых состоит из $$$m$$$ чисел от $$$0$$$ до $$$10^9$$$. Клетки, в которых нет фигурок, должны быть обозначены числом $$$0$$$, а остальные клетки могут содержать произвольные числа, при чем каждая фигурка должна быть обозначена множеством клеток, содержащих одинаковые числа.

Пример
Входные данные
3
6 6
#....#
.#..#.
......
......
.#..#.
#....#
4 4
....
#..#
#..#
....
4 7
...#...
..###..
...#...
..###..
Выходные данные
Yes
0 1 1 2 2 0 
1 0 1 2 0 2 
1 1 3 3 2 2 
4 4 3 3 5 5 
4 0 4 5 0 5 
0 4 4 5 5 0 
No
No

Statement is not available in English language
I. Musaigen no Phantom World
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

В центре Призрачного мира находится древнее дерево, известное как «Высший Разум». Это существо является связующим звеном для всех Призрачных. Каждый Призрачный представлен вершиной в графе, где ребра представляют собой связи между Призрачными.

Но связи между Призрачными не так просты, как кажется. Каждая связь имеет свой приоритет, который определяет силу и значимость этой связи. Чем выше приоритет, тем сильнее связь.

Изначально, между Призрачными нет никаких связей.

В Призрачном мире существуют два типа запросов, которые могут быть сделаны к Высшему Разуму:

1. Запрос на добавление связи: + $$$a$$$ $$$b$$$ $$$k$$$. Этот запрос добавляет новую связь между двумя Призрачными существами с приоритетом $$$k$$$. Благодаря этому запросу, новая связь будет создана между Призрачными существами $$$a$$$ и $$$b$$$ с приоритетом $$$k$$$.

2. Запрос на поиск минимального приоритета: ? $$$p$$$. Этот запрос позволяет найти минимальный неотрицательный приоритет $$$k$$$, при котором ребра с приоритетом меньше или равном $$$k$$$, образуют ровно $$$p$$$ компонент связности в графе Призрачного мира. Если такого приоритета не существует, выводится значение $$$-1$$$.

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

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

Первая строка входных данных содержит два целых числа $$$n$$$ — количество вершин и $$$q$$$ — количество запросов ($$$1 \leq n \leq 3000$$$, $$$0 \leq q \leq 10^5$$$)

Далее в следующих $$$q$$$ строчках идет описание запросов. Описание каждого запроса имеет следующий вид:

  • Запрос первого типа задается в виде: + $$$a$$$ $$$b$$$ $$$k$$$ ($$$1 \leq a,b \leq n$$$, $$$1 \leq k \leq 10^9$$$). Гарантируется, что никакие два ребра не имеют одинаковый приоритет.
  • Запрос второго типа задается в виде: ? $$$p$$$ ($$$1 \leq p \leq n$$$)
Выходные данные

Выведите ответ на каждый запрос второго типа

Пример
Входные данные
6 12
+ 1 2 1
+ 1 3 3
+ 2 3 7
+ 4 5 2
+ 5 6 4
? 1
+ 6 3 5
+ 6 3 10
+ 6 4 6
? 6
? 2
? 1
Выходные данные
-1
0
4
5
Примечание
Итоговый граф в примере

Statement is not available in English language
J. Харухи и путешествие на круге
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Дан круг, состоящий из $$$2n$$$ секторов, пронумерованных от $$$1$$$ до $$$2n$$$ по часовой стрелке, начиная с некоторой точки. За сектором $$$1$$$ следует сектор $$$2$$$, за сектором $$$2$$$ — сектор $$$3$$$ и так далее, а за сектором $$$2n$$$ следует сектор $$$1$$$. Между любыми соседними$$$^{[1]}$$$ секторами можно передвигаться за $$$1$$$ единицу времени. Помимо этого, из сектора $$$i$$$ в сектор $$$j$$$, расположенный диаметрально противоположно$$$^{[2]}$$$ сектору $$$i$$$, можно сдвинуться за $$$a_i$$$ единиц времени. Заметим, что в данном случае время передвижения зависит от направления движения: $$$a_i$$$ из $$$i$$$ в $$$j$$$ и $$$a_j$$$ из $$$j$$$ в $$$i$$$.

Необходимо ответить на $$$q$$$ запросов. Каждый запрос задается двумя номерами секторов $$$u_i$$$ и $$$v_i$$$. Для каждого запроса необходимо найти минимальное количество времени, которое потребуется, чтобы попасть в сектор $$$v_i$$$, если начинать в секторе $$$u_i$$$.

$$$^{[1]}$$$ Два сектора $$$i$$$ и $$$j$$$ называются соседними, если $$$i$$$ следует сразу после $$$j$$$ или наоборот.

$$$^{[2]}$$$ Два сектора $$$i$$$ и $$$j$$$ называются диаметрально противоположными, если $$$|i - j| = n$$$.

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

Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 5000$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

В первой строке дано два числа $$$n$$$ и $$$q$$$ ($$$1 \leq n \leq 5 \cdot 10^4, 1 \leq q \leq 10^5$$$).

Во второй строке дано $$$2n$$$ чисел $$$a_1, a_2, a_3, \dots, a_{2n}$$$ ($$$1 \leq a_i \leq 10^5$$$).

В следующих $$$q$$$ строках описаны все запросы.

В $$$i$$$-й строке содержатся два числа $$$u_i$$$ и $$$v_i$$$ ($$$1 \leq u_i, v_i \leq 2n$$$) — описание очередного запроса.

Гарантируется, что сумма $$$2n$$$ по всем наборам входных данных и сумма $$$q$$$ по всем наборам входных данных не превосходят $$$10^5$$$.

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

Для каждого набора входных данных выведите $$$q$$$ строк: число в $$$i$$$-й строке должно быть равно минимальному количеству времени для того, чтобы попасть из сектора $$$u_i$$$ в сектор $$$v_i$$$.

Примеры
Входные данные
1
1 2
1 1
1 2
2 1
Выходные данные
1
1
Входные данные
1
4 8
1 2 3 4 5 6 7 8
1 5
5 1
2 6
6 2
3 7
7 3
4 8
8 4
Выходные данные
1
4
2
4
3
4
4
3

Statement is not available in English language
K. Приключения гуманоида 3
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вы очень любите старые Java игры с кнопочных телефонов, поэтому уже давно прошли их все. Сегодня ночью вам приснилась очень интересная игра, которой никогда не существовало. Игра называлась «Приключения гуманоида 3».

В точке $$$(0, 0)$$$ бесконечного клетчатого поля находится гуманоид, которым вы управляете. В точке $$$(n, m)$$$ находится горилла, которую вы хотите навестить. Горилла очень ждёт встречи с вами, но боится заблудиться, поэтому стоит на месте.

Для управления гуманоидом доступны четыре клавиши: $$$2$$$, $$$4$$$, $$$6$$$, $$$8$$$.

  • Клавиша $$$2$$$ перемещает гуманоида на одну клетку вверх $$$(x, y) \to (x, y + 1)$$$;
  • Клавиша $$$4$$$ перемещает гуманоида на одну клетку влево $$$(x, y) \to (x - 1, y)$$$;
  • Клавиша $$$6$$$ перемещает гуманоида на одну клетку вправо $$$(x, y) \to (x + 1, y)$$$;
  • Клавиша $$$8$$$ перемещает гуманоида на одну клетку вниз $$$(x, y) \to (x, y - 1)$$$.

Вам также приснилась строка $$$s$$$, задающая последовательность клавиш. Вы помните, что выбрали ровно $$$k$$$ последовательных клавиш из $$$s$$$ и нажали их по порядку. Мог ли гуманоид добраться до гориллы или вы что-то перепутали? Считается, что гуманоид добрался до гориллы, если ровно после $$$k$$$ шагов он закончил в клетке с ней.

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

В первой строке дано целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.

Далее следуют описания наборов.

В первой строке записана строка $$$s$$$ ($$$s_i \in \{2, 4, 6, 8\}$$$, $$$1 \le |s| \le 10^6$$$) — последовательность клавиш.

Во второй строке даны целые числа $$$n$$$, $$$m$$$, $$$k$$$ ($$$-10^6 \le n, m \le 10^6$$$, $$$1 \le k \le |s|$$$).

Гарантируется, что сумма длин $$$s$$$ по всем наборам входных данных не превосходит $$$10^6$$$.

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

Выведите «YES», если гуманоид мог добраться до гориллы и «NO» — в противном случае.

Вы можете выводить ответ в любом регистре.

Пример
Входные данные
5
2846866484
-1 0 1
22268
-1 2 4
4
5 -3 1
26468228
2 -4 4
28844422
-3 -1 6
Выходные данные
YES
NO
NO
NO
YES