Страница: << 1 2 3 Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

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

Папа знает словарный запас сына. Считается, что Вася мог иметь в виду словарное слово P, если оно входит как подпоследовательность в слово T (то, что он сказал). Другими словами, если существует такая возрастающая последовательность индексов i1 < i2 < ... < im (где m — длина P), что P[j] = T[ij] для всех j = 1..m.

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

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

В первой строке входного файла содержится единственное число K.

В следующих K строках идут слова из словаря, по одному на каждой строке. На последней (K + 2)-й строке входного файла содержится слово, сказанное Васей, длиной не более 100 000. Все слова в словаре непустые.

Все слова состоят из строчных латинских букв. Гарантируется, что суммарная длина слов из словаря не превышает 1 000 000 символов.

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

В выходной файл выведите K строк. В i-й строке должно быть записано ‘YES’, если Вася мог иметь в виду слово номер i из словаря, и ‘NO’ в противном случае.

Примеры
Входные данные
4
hi
hello
bye
oh
ahhinellation
Выходные данные
YES
YES
NO
NO
Входные данные
5
want
drink
ink
ant
in
iwanttosleep
Выходные данные
YES
NO
NO
YES
YES

Есть три сосуда с водой. В одном из них A миллилитров воды, в другом — B миллилитров, в третьем — C. Разрешается следующая операция. Можно перелить воду из одного сосуда в другой так, чтобы в том сосуде, в который мы переливаем, количество воды после переливания было в два раза больше, чем до переливания. То есть, если до переливания в сосудах было A, B и C миллилитров соответственно, и мы переливаем, например, из второго сосуда в третий, то после переливания в сосудах должно оказаться A, BC, 2С миллилитров соответственно (такое переливание можно делать только при условии, когда BC). Эту операцию можно повторять не более 10000 раз.

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

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

Во входном файле записаны неотрицательные целые числа A, B, C — количество воды в каждом из сосудов изначально. Числа A, B, C не превышают 1018.

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

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

Если освободить сосуд невозможно (или на это требуется больше 10000 операций), выведите в выходной файл одно число –1 (минус один).

Примеры
Входные данные
1 2 10
Выходные данные
2
3 1
2 1
Входные данные
0 1 0
Выходные данные
0

Страница: << 1 2 3 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест