У нас есть сетка с H строками и W столбцами.
Пусть (i,j) обозначает клетку в i-й строке сверху и j-м столбце слева.
Каждая клетка в сетке является одной из следующих: начальная клетка, целевая клетка, пустая клетка, стена или клетка с конфетой.
(i,j) представлена символом A_{i,j} и является начальной клеткой, если A_{i,j}= S, целевой клеткой, если A_{i,j}= G, пустой клеткой, если A_{i,j}= ., стеной, если A_{i,j}= #, и клеткой с конфетой, если A_{i,j}= o.
Здесь гарантируется, что есть ровно одна начальная точка, ровно одна целевая точка, и не более 18 клеток с конфетами.

Такаси сейчас находится на начальной клетке.
Он может повторять перемещение к вертикально или горизонтально соседней клетке, которая не является стеной.
Он хочет добраться до целевой клетки не более чем за T ходов.
Определите, возможно ли это.
Если это возможно, найдите максимальное количество клеток с конфетами, которые он может посетить на пути к целевой клетке, где он должен закончить.
Каждая клетка с конфетой засчитывается только один раз, даже если она посещена несколько раз.

Ввод

Ввод получают из стандартного ввода в следующем формате:
H W T
A_{1,1}A_{1,2}\dots A_{1,W}
\vdots
A_{H,1}A_{H,2}\dots A_{H,W}

Вывод

Если невозможно добраться до целевой клетки не более чем за T ходов, выведите -1.
Иначе выведите максимальное количество клеток с конфетами, которые можно посетить на пути к целевой клетке, где Такаси должен закончить.

Ограничения

- 1\leq H,W \leq 300
- 1 \leq T \leq 2\times 10^6
- H, W, и T — целые числа.
- A_{i,j} — один из S, G, ., #, и o.
- Ровно одна пара (i,j) удовлетворяет A_{i,j}= S.
- Ровно одна пара (i,j) удовлетворяет A_{i,j}= G.
- Не более 18 пар (i,j) удовлетворяют A_{i,j}= o.

Пример ввода 1

3 3 5
S.G
o#o
.#.

Пример вывода 1

1

Если он сделает четыре хода как (1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) \rightarrow (1,3), он может посетить одну клетку с конфетой и закончить на целевой клетке.
Он не может сделать пять или меньше ходов, чтобы посетить две клетки с конфетами и закончить на целевой клетке, поэтому ответ — 1.
Заметьте, что совершать пять ходов как (1,1) \rightarrow (2,1) \rightarrow (1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) для посещения двух клеток с конфетами недопустимо, так как он не закончит на целевой клетке.

Пример ввода 2

3 3 1
S.G
.#o
o#.

Пример вывода 2

-1

Он не может попасть на целевую клетку за один или менее ходов.

Пример ввода 3

5 10 2000000
S.o..ooo..
..o..o.o..
..o..ooo..
..o..o.o..
..o..ooo.G

Пример вывода 3

18

У нас есть сетка с H строками и W столбцами.
Пусть (i,j) обозначает квадрат в i-й строке сверху и j-м столбце слева.
Каждый квадрат в сетке является одним из следующих: стартовый квадрат, целевой квадрат, пустой квадрат, настенный квадрат и конфетный квадрат.
(i,j) представлен символом A_{i,j} и является стартовым квадратом, если A_{i,j}= S, целевой квадрат, если A_{i,j}= G, пустым квадратом, если A_{i,j}= ., настенным квадратом, если A_{i,j}= #, и конфетным квадратом, если A_{i,j}= o.
Здесь гарантируется, что есть ровно один старт, ровно одна цель и не более 18 конфетных квадратов.
Теперь Такахаши находится на стартовом квадрате.
Он может повторить перемещение в вертикально или горизонтально смежный квадрат, не являющийся стеной.
Он хочет достичь конечного квадрата не более чем за T ходов.
Определите, возможно ли это.
Если возможно, найдите максимальное количество конфетных квадратов, которые он может посетить по пути к цели, где он должен финишировать.
Каждый конфетный квадрат считается только один раз, даже если он посещен несколько раз.

Ввод

Вводные данные даются из стандартного ввода в следующем формате:
H W T
A_{1,1}A_{1,2}\dots A_{1,W}
\vdots
A_{H,1}A_{H,2}\dots A_{H,W}

Вывод

Если невозможно достичь цели не более чем за T ходов, выведите -1.
В противном случае выведите максимальное количество конфетных квадратов, которые он может посетить по пути к цели, где Такахаши должен финишировать.

Ограничения

- 1\leq H,W \leq 300
- 1 \leq T \leq 2\times 10^6
- H, W и T — целые числа.
- A_{i,j} является одним из S, G, ., # и o.
- Ровно одна пара (i,j) удовлетворяет A_{i,j}= S.
- Ровно одна пара (i,j) удовлетворяет A_{i,j}= G.
- Максимум 18 пар (i,j) удовлетворяют A_{i,j}= o.

Пример ввода 1

3 3 5
S.G
o#o
.#.

Пример вывода 1

1

Если он сделает четыре хода как (1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) \rightarrow (1,3), он может посетить один квадрат конфет и закончить на квадрате цели.
Он не может сделать пять или меньше ходов, чтобы посетить два поля конфет и закончить на поле цели, поэтому ответ 1.
Обратите внимание, что выполнение пяти ходов как (1,1) \rightarrow (2,1) \rightarrow (1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) для посещения двух полей конфет недопустимо, так как он не закончит на поле цели.

Пример ввода 2

3 3 1
S.G
.#o
o#.

Пример вывода 2

-1

Он не может достичь поля цели за один или меньше ходов.

Пример ввода 3

5 10 2000000
S.o..ooo..
..o..o.o..
..o..ooo..
..o..o.o..
..o..ooo.G

Пример вывода 3

18


Строка типа DDoS — это строка длиной 4, состоящая из заглавных и строчных английских букв, удовлетворяющая обоим следующим условиям.

- Первый, второй и четвертый символы — заглавные английские буквы, а третий символ — строчная английская буква.
- Первый и второй символы равны.

Например, DDoS и AAaA — это строки типа DDoS, в то время как ни ddos, ни IPoE таковыми не являются.
Вам дана строка S, состоящая из заглавных и строчных английских букв и ?.
Пусть q — количество вхождений ? в S. Существует 52^q строк, которые можно получить, независимо заменив каждый ? в S заглавной или строчной английской буквой.
Среди этих строк найдите количество единиц, которые не содержат строку типа DDoS в качестве подпоследовательности, по модулю 998244353.

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

Входные данные даются из стандартного ввода в следующем формате:
S

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

Выведите ответ.

Ограничения

- S состоит из заглавных английских букв, строчных английских букв и ?.
- Длина S составляет от 4 до 3\times 10^5 включительно.

Пример ввода 1

DD??S

Пример вывода 1

676

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

Пример ввода 2

??????????????????????????????????????????

Пример вывода 2

858572093

Найдите число по модулю 998244353.

Пример ввода 3

?D??S

Пример вывода 3

136604

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

- Первый, второй и четвертый символы — прописные буквы английского алфавита, а третий символ — строчная буква.
- Первый и второй символы равны.

Например, DDoS и AAaA являются строками типа DDoS, тогда как ни ddos, ни IPoE не являются таковыми.
Вам дана строка S, состоящая из прописных и строчных букв английского алфавита и ?.
Пусть q — количество вхождений ? в S. Существует 52^q строк, которые можно получить, независимо заменив каждый ? в S на прописную или строчную букву английского алфавита.
Среди этих строк найдите количество тех, которые не содержат строку типа DDoS в качестве подпоследовательности, по модулю 998244353.

Ввод

Ввод дается со стандартного ввода в следующем формате:
S

Вывод

Выведите ответ.

Ограничения

- S состоит из прописных и строчных букв английского алфавита и ?.
- Длина S составляет от 4 до 3\times 10^5 включительно.

Пример ввода 1

DD??S

Пример вывода 1

676

Когда хотя бы один из ? заменяется на строчную букву английского алфавита, в результирующей строке будет содержаться строка типа DDoS в качестве подпоследовательности.

Пример ввода 2

????????????????????????????????????????

Пример вывода 2

858572093

Найдите количество по модулю 998244353.

Пример ввода 3

?D??S

Пример вывода 3

136604

Строка типа DDoS это строка длиной 4, состоящая из прописных и строчных Английских букв, удовлетворяющая обоим следующим условиям.

- Первый, второй и четвертый символы это заглавные Английские буквы, а третий символ это строчные Английские буквы.
- Первый и второй символы равны.

Например, DDoS и AAaA являются строками типа DDoS, тогда как ни ddos, ни IPoE таковыми не являются.
Вам дана строка S, состоящая из прописных и строчных Английских букв и знака ?.
Пусть q будет количеством вхождений ? в S. Существует 52^q строк, которые можно получить независимой заменой каждого? в S с прописной или строчной Английской буквой.
Найдите среди этих строк количество тех, которые не содержат в качестве подпоследовательности строку типа DDoS по модулю 998244353.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
S

Вывод

Выведите ответ.

Ограничения

- S состоит из заглавных Английских букв, строчных Английских букв и ?.
- Длина S составляет от 4 до 3\times 10^5, включительно.

Пример ввода 1

DD??S

Пример вывода 1

676

Когда хотя бы один из символов ? заменяется строчной Английской буквой, результирующая строка будет содержать строку типа DDoS в качестве подпоследовательности.

Пример ввода 2

????????????????????????????????????????

Пример вывода 2

858572093

Найдите число по модулю 998244353.

Пример ввода 3

?D??S

Пример вывода 3

136604


Выносливость врага равна A. Каждый раз, когда врага атакуют, его выносливость уменьшается на B.
Сколько раз нужно атаковать врага, как минимум, чтобы его выносливость стала равна 0 или меньше?

Ввод

Ввод данных осуществляется посредством стандартного ввода в следующем формате:
A B

Вывод

Выведи ответ.

Ограничения

- 1 \le A,B \le 10^{18}
- A и B — целые числа.

Пример ввода 1

7 3

Пример вывода 1

3

Если атаковать противника три раза, то его выносливость снизится до -2.
Атаковать дважды недостаточно, так как его выносливость станет равна 1, поэтому нужно атаковать три раза.

Пример ввода 2

123456789123456789 987654321

Пример вывода 2

124999999

Пример ввода 3

999999999999999998 2

Пример вывода 3

499999999999999999

Есть враг с выносливостью A. Каждый раз, когда вы атакуете врага, его выносливость уменьшается на B.
По крайней мере, сколько раз нужно атаковать врага, чтобы его выносливость стала 0 или меньше?

Ввод

Ввод предоставляется из стандартного ввода в следующем формате:
A B

Вывод

Выведите ответ.

Ограничения

- 1 \le A,B \le 10^{18}
- A и B — целые числа.

Пример ввода 1

7 3

Пример вывода 1

3

Три атаки уменьшают выносливость врага до -2.
Атаковать дважды недостаточно, так как выносливость останется 1, поэтому нужно атаковать три раза.

Пример ввода 2

123456789123456789 987654321

Пример вывода 2

124999999

Пример ввода 3

999999999999999998 2

Пример вывода 3

499999999999999999

Есть враг с выносливостью A. Каждый раз, когда вы атакуете врага, его выносливость уменьшается на B.
Как минимум, сколько раз вам нужно атаковать врага, чтобы его выносливость стала 0 или меньше?

Ввод

Ввод дается из стандартного ввода в следующем формате:
A B

Вывод

Выведите ответ.

Ограничения

- 1 \le A,B \le 10^{18}
- A и B — целые числа.

Пример ввода 1

7 3

Пример вывода 1

3

Атака три раза снижает выносливость врага на -2.
Атака только дважды снижает выносливость на 1, поэтому вам нужно атаковать его три раза.

Пример ввода 2

123456789123456789 987654321

Пример вывода 2

124999999

Пример ввода 3

999999999999999998 2

Пример вывода 3

4999999999999999999


Существует сетка с H горизонтальными рядами и W вертикальными столбцами. В каждой ячейке написана строчная английская буква.
Мы обозначаем через (i, j) ячейку в i-м ряду сверху и j-м столбце слева.
Буквы, написанные на сетке, представлены H строками S_1,S_2,\ldots, S_H, каждая длиной W.
j-я буква S_i представляет букву, написанную на (i, j).
Существует уникальный набор
смежных ячеек (идущих вертикально, горизонтально или по диагонали) в сетке
с написанными на них s, n, u, k и e в этом порядке.
Найдите позиции таких ячеек и выведите их в формате, указанном в разделе Вывод.
Кортеж из пяти ячеек (A_1,A_2,A_3,A_4,A_5) считается формирующим
набор смежных ячеек (идущих вертикально, горизонтально или по диагонали) с написанными на них s, n, u, k и e в этом порядке,
если и только если выполнены все следующие условия.

- A_1,A_2,A_3,A_4 и A_5 имеют на них написанные буквы s, n, u, k и e соответственно.
- Для всех 1\leq i\leq 4 ячейки A_i и A_{i+1} имеют общую угловую или боковую грани.
- Центры A_1,A_2,A_3,A_4 и A_5 находятся на одной линии с регулярными интервалами.

Ввод

Ввод предоставляется со стандартного ввода в следующем формате:
H W
S_1
S_2
\vdots
S_H

Вывод

Выведите пять строк в следующем формате.
Пусть (R_1,C_1), (R_2,C_2)\ldots,(R_5,C_5) будут ячейками в искомом наборе с написанными на них s, n, u, k и e соответственно.
i-я строка должна содержать R_i и C_i в этом порядке, разделенные пробелом.
Иными словами, выведите их в следующем формате:
R_1 C_1
R_2 C_2
\vdots
R_5 C_5

См. также примеры входных и выходных данных ниже.

Ограничения

- 5\leq H\leq 100
- 5\leq W\leq 100
- H and W are integers.
- S_i — строка длиной W, состоящая из строчных английских букв.
- Данная сетка имеет уникальный соответствующий набор ячеек.

Пример входных данных 1

6 6
vgxgpu
amkxks
zhkbpp
hykink
esnuke
zplvfj

Пример выходных данных 1

5 2
5 3
5 4
5 5
5 6

Кортеж (A_1,A_2,A_3,A_4,A_5)=((5,2),(5,3),(5,4),(5,5),(5,6)) удовлетворяет условиям.
Действительно, буквы, написанные на них, — s, n, u, k и e;
для всех 1\leq i\leq 4 ячейки A_i и A_{i+1} имеют общую сторону;
и центры ячеек находятся на одной линии.

Пример входных данных 2

5 5
ezzzz
zkzzz
ezuzs
zzznz
zzzzs

Пример выходных данных 2

5 5
4 4
3 3
2 2
1 1

Кортеж (A_1,A_2,A_3,A_4,A_5)=((5,5),(4,4),(3,3),(2,2),(1,1)) удовлетворяет условиям.
Однако, например, (A_1,A_2,A_3,A_4,A_5)=((3,5),(4,4),(3,3),(2,2),(3,1)) нарушает третье условие, потому что центры ячеек не находятся на одной линии, хотя удовлетворяет первому и второму условиям.

Пример входных данных 3

10 10
kseeusenuk
usesenesnn
kskekeeses
nesnusnkkn
snenuuenke
kukknkeuss
neunnennue
sknuessuku
nksneekknk
neeeuknenk

Пример выходных данных 3

9 3
8 3
7 3
6 3
5 3

Существует сетка с H горизонтальными рядами и W вертикальными столбцами. В каждой ячейке написана строчная английская буква. Мы обозначаем через (i, j) ячейку в i-м ряду сверху и j-м столбце слева. Буквы, написанные на сетке, представлены H строками S_1,S_2,\ldots, S_H, каждая длиной W. j-я буква S_i представляет букву, написанную на (i, j). Существует уникальный набор смежных ячеек (идущих вертикально, горизонтально или по диагонали) в сетке с написанными на них s, n, u, k и e в этом порядке. Найдите позиции таких ячеек и выведите их в формате, указанном в разделе Вывод. Кортеж из пяти ячеек (A_1,A_2,A_3,A_4,A_5) считается формирующим набор смежных ячеек (идущих вертикально, горизонтально или по диагонали) с написанными на них s, n, u, k и e в этом порядке, если и только если выполнены все следующие условия.

- A_1,A_2,A_3,A_4 и A_5 имеют на них написанные буквы s, n, u, k и e соответственно.
- Для всех 1\leq i\leq 4 ячейки A_i и A_{i+1} имеют общую угловую или боковую грани.
- Центры A_1,A_2,A_3,A_4 и A_5 находятся на одной линии с регулярными интервалами.

Ввод

Ввод предоставляется со стандартного ввода в следующем формате: H W S_1 S_2 \vdots S_H

Вывод

Выведите пять строк в следующем формате. Пусть (R_1,C_1), (R_2,C_2)\ldots,(R_5,C_5) будут ячейками в искомом наборе с написанными на них s, n, u, k и e соответственно. i-я строка должна содержать R_i и C_i в этом порядке, разделенные пробелом. Иными словами, выведите их в следующем формате: R_1 C_1 R_2 C_2 \vdots R_5 C_5

См. также примеры входных и выходных данных ниже.

Ограничения

- 5\leq H\leq 100
- 5\leq W\leq 100
- H и W целые числа.
- S_i — строка длиной W, состоящая из строчных английских букв.
- Данная сетка имеет уникальный соответствующий набор ячеек.

Пример входных данных 1

6 6 vgxgpu amkxks zhkbpp hykink esnuke zplvfj

Пример выходных данных 1

5 2 5 3 5 4 5 5 5 6

Кортеж (A_1,A_2,A_3,A_4,A_5)=((5,2),(5,3),(5,4),(5,5),(5,6)) удовлетворяет условиям. Действительно, буквы, написанные на них, — s, n, u, k и e; для всех 1\leq i\leq 4 ячейки A_i и A_{i+1} имеют общую сторону; и центры ячеек находятся на одной линии.

Пример входных данных 2

5 5 ezzzz zkzzz ezuzs zzznz zzzzs

Пример выходных данных 2

5 5 4 4 3 3 2 2 1 1

Кортеж (A_1,A_2,A_3,A_4,A_5)=((5,5),(4,4),(3,3),(2,2),(1,1)) удовлетворяет условиям. Однако, например, (A_1,A_2,A_3,A_4,A_5)=((3,5),(4,4),(3,3),(2,2),(3,1)) нарушает третье условие, потому что центры ячеек не находятся на одной линии, хотя удовлетворяет первому и второму условиям.

Пример входных данных 3

10 10 kseeusenuk usesenesnn kskekeeses nesnusnkkn snenuuenke kukknkeuss neunnennue sknuessuku nksneekknk neeeuknenk

Пример выходных данных 3

9 3 8 3 7 3 6 3 5 3

Есть сетка с H горизонтальными рядами и W вертикальными столбцами. В каждой ячейке написана строчная английская буква.
Мы обозначаем (i, j) ячейку в i-й строке сверху и j-м столбце слева.
Буквы, написанные в сетке, представлены H строками S_1,S_2,\ldots, S_H, каждая длиной W.
J-я буква S_i представляет букву, написанную в (i, j).
В сетке есть уникальный набор
смежных ячеек (идущих вертикально, горизонтально или по диагонали),
с s, n, u, k и e, написанными в них в этом порядке.
Найдите позиции таких ячеек и выведите их в формате, указанном в разделе «Вывод». Говорят, что набор из пяти ячеек (A_1,A_2,A_3,A_4,A_5) образует
набор смежных ячеек (идущих вертикально, горизонтально или по диагонали) с s, n, u, k и e, написанными на них в этом порядке,
если и только если выполняются все следующие условия.

- На A_1,A_2,A_3,A_4 и A_5 написаны буквы s, n, u, k и e соответственно.
- Для всех 1\leq i\leq 4 ячейки A_i и A_{i+1} имеют общий угол или сторону.
- Центры A_1,A_2,A_3,A_4 и A_5 находятся на общей линии с равными интервалами.

Ввод

Вводные данные даются из стандартного ввода в следующем формате:
H W
S_1
S_2
\vdots
S_H

Вывод

Выведите пять строк в следующем формате.

Пусть (R_1,C_1), (R_2,C_2)\ldots,(R_5,C_5) будут ячейками в искомом наборе с s, n, u, k и e, написанными на них соответственно.
i-я строка должна содержать R_i и C_i в этом порядке, разделенные пробелом.
Другими словами, выведите их в следующем формате:
R_1 C_1
R_2 C_2
\vdots
R_5 C_5

См. также примеры входных и выходных данных ниже.

Ограничения

- 5\leq H\leq 100
- 5\leq W\leq 100
- H и W являются целыми числами.
- S_i — это строка длины W, состоящая из строчных английских букв.
- Данная сетка имеет уникальный соответствующий набор ячеек.

Пример входных данных 1

6 6
vgxgpu
amkxks
zhkbpp
hykink
esnuke
zplvfj

Пример выходных данных 1

5 2
5 3
5 4
5 5
5 6

Кортеж (A_1,A_2,A_3,A_4,A_5)=((5,2),(5,3),(5,4),(5,5),(5,6)) удовлетворяет условиям.
Действительно, на них написаны буквы s, n, u, k и e;
для всех 1\leq i\leq 4 ячейки A_i и A_{i+1} имеют общую сторону;
и центры ячеек находятся на общей линии.

Пример ввода 2

5 5
ezzzz
zkzzz
ezuzs
zzznz
zzzzs

Пример вывода 2

5 5
4 4
3 3
2 2
1 1

Кортеж (A_1,A_2,A_3,A_4,A_5)=((5,5),(4,4),(3,3),(2,2),(1,1)) удовлетворяет условиям.
Однако, например, (A_1,A_2,A_3,A_4,A_5)=((3,5),(4,4),(3,3),(2,2),(3,1)) нарушает третье условие, поскольку центры ячеек не находятся на общей линии, хотя удовлетворяет первому и второму условиям.

Пример ввода 3

10 10
kseeusenuk
usesenesnn
kskekeeses
nesnusnkkn
snenuuenke
kukknkeuss
neunnennue
sknuessuku
nksneekknk
neeeuknenk

Пример вывода 3

9 3
8 3
7 3
6 3
5 3


Вам даны N строк S_1,S_2,\dots,S_N, каждая длиной M, состоящая из строчных английских букв. Здесь S_i попарно различны.
Определите, можно ли переставить эти строки, чтобы получить новую последовательность строк T_1,T_2,\dots,T_N, такую, что:

- для всех целых чисел i, таких что 1 \le i \le N-1, можно изменить ровно один символ T_i на другую строчную английскую букву, чтобы она стала равной T_{i+1}.

Ввод

Ввод дается из стандартного ввода в следующем формате:
N M
S_1
S_2
\vdots
S_N

Вывод

Выведите Yes, если можно получить соответствующую последовательность; выведите No в противном случае.

Ограничения

- 2 \le N \le 8
- 1 \le M \le 5
- S_i — это строка длиной M, состоящая из строчных английских букв. (1 \le i \le N)
- S_i попарно различны.

Пример ввода 1

4 4
bbed
abcd
abed
fbed

Пример вывода 1

Yes

Их можно переставить в следующем порядке: abcd, abed, bbed, fbed. Эта последовательность удовлетворяет условию.

Пример ввода 2

2 5
abcde
abced

Пример вывода 2

No

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

Пример ввода 3

8 4
fast
face
cast
race
fact
rice
nice
case

Пример вывода 3

Yes

Вам дано N строк S_1,S_2,\dots,S_N, каждая длиной M, состоящая из строчных английских букв. Здесь, S_i попарно различны.
Определите, можно ли переставить эти строки, чтобы получить новую последовательность строк T_1,T_2,\dots,T_N такую, что:

- для всех целых чисел i, таких что 1 \le i \le N-1, можно изменить ровно один символ в T_i на другую строчную английскую букву, чтобы сделать её равной T_{i+1}.

Ввод

Ввод поступает из стандартного ввода в следующем формате:
N M
S_1
S_2
\vdots
S_N

Вывод

Выведите Yes, если можно получить соответствующую последовательность; выведите No в противном случае.

Ограничения

- 2 \le N \le 8
- 1 \le M \le 5
- S_i — строка длины M, состоящая из строчных английских букв.  (1 \le i \le N)
- S_i попарно различны.

Пример ввода 1

4 4
bbed
abcd
abed
fbed

Пример вывода 1

Yes

Можно переставить их в таком порядке: abcd, abed, bbed, fbed. Эта последовательность удовлетворяет условию.

Пример ввода 2

2 5
abcde
abced

Пример вывода 2

No

Как бы строки ни были переставлены, условие никогда не будет выполнено.

Пример ввода 3

8 4
fast
face
cast
race
fact
rice
nice
case

Пример вывода 3

Yes


Такахаси решил подарить один подарок Аоки и один подарок Снуке.
Есть N кандидатов подарков для Аоки,
их ценности A_1, A_2, \ldots,A_N.
Есть M кандидатов подарков для Снуке,
их ценности B_1, B_2, \ldots,B_M.
Такахаси хочет выбрать подарки так, чтобы разница в ценностях двух подарков была не более D.
Определите, может ли он выбрать такую пару подарков. Если может, выведите максимальную сумму ценностей выбранных подарков.

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

Вход предоставляется из стандартного ввода в следующем формате:
N M D
A_1 A_2 \ldots A_N
B_1 B_2 \ldots B_M

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

Если он может выбрать подарки, чтобы удовлетворить условие,
выведите максимальную сумму ценностей выбранных подарков.
Если он не может удовлетворить условие, выведите -1.

Ограничения

- 1\leq N,M\leq 2\times 10^5
- 1\leq A_i,B_i\leq 10^{18}
- 0\leq D \leq 10^{18}
- Все значения во входных данных — целые числа.

Пример входных данных 1

2 3 2
3 10
2 5 15

Пример выходных данных 1

8

Разница в ценностях двух подарков должна быть не более 2.
Если он подарит подарок стоимостью 3 Аоки и другой стоимостью 5 Снуке, условие выполнится, и будет достигнута максимальная возможная сумма ценностей.
Таким образом, следует вывести 3+5=8.

Пример входных данных 2

3 3 0
1 3 3
6 2 7

Пример выходных данных 2

-1

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

Пример входных данных 3

1 1 1000000000000000000
1000000000000000000
1000000000000000000

Пример выходных данных 3

2000000000000000000

Заметьте, что ответ может не поместиться в 32-битный целочисленный тип.

Пример входных данных 4

8 6 1
2 5 6 5 2 1 7 9
7 2 5 5 2 4

Пример выходных данных 4

14

Такахаси решил подарить один подарок Аоки и один подарок Снуке.
Есть N кандидатов подарков для Аоки,
их ценности A_1, A_2, \ldots,A_N.
Есть M кандидатов подарков для Снуке,
их ценности B_1, B_2, \ldots,B_M.
Такахаси хочет выбрать подарки так, чтобы разница в ценностях двух подарков была не более D.
Определите, может ли он выбрать такую пару подарков. Если может, выведите максимальную сумму ценностей выбранных подарков.

Вход

Вход предоставляется из стандартного ввода в следующем формате:
N M D
A_1 A_2 \ldots A_N
B_1 B_2 \ldots B_M

Выход

Если он может выбрать подарки, чтобы удовлетворить условие,
выведите максимальную сумму ценностей выбранных подарков.
Если он не может удовлетворить условие, выведите -1.

Ограничения

- 1\leq N,M\leq 2\times 10^5
- 1\leq A_i,B_i\leq 10^{18}
- 0\leq D \leq 10^{18}
- Все значения во входных данных — целые числа.

Пример входных данных 1

2 3 2
3 10
2 5 15

Пример выходных данных 1

8

Разница в ценностях двух подарков должна быть не более 2.
Если он подарит подарок стоимостью 3 Аоки и другой стоимостью 5 Снуке, условие выполнится, и будет достигнута максимальная возможная сумма ценностей.
Таким образом, следует вывести 3+5=8.

Пример входных данных 2

3 3 0
1 3 3
6 2 7

Пример выходных данных 2

-1

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

Пример входных данных 3

1 1 1000000000000000000
1000000000000000000
1000000000000000000

Пример выходных данных 3

2000000000000000000

Заметьте, что ответ может не поместиться в 32-битный целочисленный тип.

Пример входных данных 4

8 6 1
2 5 6 5 2 1 7 9
7 2 5 5 2 4

Пример выходных данных 4

14

Такахаши решил сделать один подарок Аоки и один подарок Снуке.
Есть n кандидатов подарков для Аоки,
и их значения являются A_1, A_2, \ldots,A_N.
Есть M кандидаты подарков для Snuke,
и их значения -B_1, B_2, \ldots,B_M.
Такахаши хочет выбрать подарки, чтобы разница в ценностях двух подарков была не более D.
Определите, может ли он выбрать такую пару подарков. Если он может выбрать подарки, чтобы удовлетворить условие, распечатайте максимальную сумму значений выбранных подарков.

Вход

Ввод приведен из стандартного ввода в следующем формате:
N M D
A_1 A_2 \ldots A_N
B_1 B_2 \ldots B_M

Выход

Если он может выбрать подарки, чтобы удовлетворить условие,
Распечатайте максимальную сумму значений выбранных подарков.
Если он не может удовлетворить состояние, распечатайте -1.

Ограничения

- 1\leq N,M\leq 2\times 10^5
- 1\leq A_i,B_i\leq 10^{18}
- 0\leq D \leq 10^{18}
- Все значения на входе являются целыми числами.

Пример входа 1

2 3 2
3 10
2 5 15

Выбор вывода 1

8

Разница значений двух подарков должна быть не более 2.
Если он дарит подарок со значением 3 Aoki, а другой - с стоимостью 5 - Snuke, условие удовлетворяется, достигая максимально возможной суммы значений.
Таким образом, 3+5 = 8 должны быть напечатаны.

Пример входа 2

3 3 0
1 3 3
6 2 7

Выбор вывода 2

-1

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

Образец ввода 3

1 1 1000000000000000000
1000000000000000000
1000000000000000000

пример вывода 3

200000000000000000000

Обратите внимание, что ответ может не вписаться в 32-битный целочисленный тип.

Образец ввода 4

8 6 1
2 5 6 5 2 1 7 9
7 2 5 5 2 4

Образец вывода 4

14


Существует неориентированный граф с N вершинами, пронумерованными от 1 до N, и изначально с 0 рёбер.
Дано Q запросов, обработайте их по порядку. После обработки каждого запроса выведите количество вершин, не соединённых рёбрами с другими вершинами.
i-й запрос, \mathrm{query}_i, может быть одного из следующих двух типов.

1 u v: соединить вершину u и вершину v ребром. Гарантируется, что, когда этот запрос задан, вершина u и вершина v не соединены ребром.

2 v: удалить все рёбра, соединяющие вершину v с другими вершинами. (Сама вершина v не удаляется.)

Ввод

Ввод задаётся со стандартного ввода в следующем формате:
N Q
\mathrm{query}_1
\mathrm{query}_2
\vdots
\mathrm{query}_Q

Вывод

Выведите Q строк.
i-я строка (1\leq i\leq Q) должна содержать количество вершин, не соединённых рёбрами с другими вершинами.

Ограничения

- 2 \leq N\leq 3\times 10^5
- 1 \leq Q\leq 3\times 10^5
- Для каждого запроса первого типа, 1\leq u,v\leq N и u\neq v.
- Для каждого запроса второго типа, 1\leq v\leq N.
- Прямо перед выдачей запроса первого типа, между вершинами u и v нет рёбер.
- Все значения во вводе - целые числа.

Пример ввода 1

3 7
1 1 2
1 1 3
1 2 3
2 1
1 1 2
2 2
1 1 2

Пример вывода 1

1
0
0
1
0
3
1

После первого запроса вершина 1 и вершина 2 соединены друг с другом ребром, но вершина 3 не соединена с другими вершинами.
Таким образом, 1 должно быть напечатано в первой строке.
После третьего запроса все пары различных вершин соединены рёбрами.
Однако, четвёртый запрос требует удалить все рёбра, соединяющие вершину 1 с другими вершинами, а именно удалить рёбра между вершиной 1 и вершиной 2, а также между вершиной 1 и вершиной 3.
В результате вершина 2 и вершина 3 остаются соединёнными друг с другом, а вершина 1 не соединена рёбрами с другими вершинами.
Таким образом, 0 и 1 должны быть выведены в третьей и четвёртой строках соответственно.

Пример ввода 2

2 1
2 1

Пример вывода 2

2

Когда задан запрос второго типа, может не быть рёбер, соединяющих эту вершину с другими вершинами.

Существует неориентированный график с N вершинами, пронумерованными от 1 до N, и первоначально с 0 рёбрами.
Учитывая запросы Q, обработайте их по порядку.  После обработки каждого запроса
напечатайте количество вершин, которые не связаны с какими-либо другими вершинами ребром.
i-й запрос, \mathrm{query}_i, относится к одному из следующих двух видов.

-
1 u v: соединить вершину u и вершину v ребром.  Гарантировано, что, когда этот запрос задан, вершина u и вершина v не соединены ребром.

-
2 v: удалить все рёбра, которые соединяют вершину v и другие вершины.  (Сама по себе Vertex v не удаляется.)

Ввод

Ввод подается из Standard Input в следующем формате:
N Q
\mathrm{query}_1
\mathrm{query}_2
\vdots
\mathrm{query}_Q

Вывод

Вывести Q строк.
i-я линия (1\leq i\leq Q) должна содержать количество вершин, не связанных ребром с какими-либо другими вершинами.

Ограничения

- 2 \leq N\leq 3\times 10^5
- 1 \leq Q\leq 3\times 10^5
- Для каждого запроса первого рода, 1\leq u,v\leq N and u\neq v.
- Для каждого запроса второго рода, 1\leq v\leq N.
- Прямо перед тем, как задан запрос первого рода, между вершинами u и v нет ребра.
- Все значения во входных данных являются целыми числами.

Образец ввода 1

3 7
1 1 2
1 1 3
1 2 3
2 1
1 1 2
2 2
1 1 2

Вывод образца 1

1
0
0
1
0
3
1

После первого запроса вершина 1 и вершина 2 соединены между собой ребром, но вершина 3 не связана ни с какими другими вершинами.
Таким образом, 1 следует напечатать в первой строке.
После третьего запроса все пары различных вершин соединяются ребром.
Однако четвёртый запрос просит удалить все рёбра, соединяющие вершину 1 и другие вершины, в частности, чтобы удалить ребро между вершиной 1 и вершиной 2, а также ребро между вершиной 1 и вершиной 3.
В результате вершина 2 и вершина 3 связаны между собой, при этом вершина 1 не связана с другими вершинами ребром.
Таким образом, 0 и 1 должны быть напечатаны в третьей и четвёртой строках соответственно.

Образец ввода 2

2 1
2 1

Образец вывода 2

2

Когда задан запрос второго рода, может не существовать ребра, соединяющего эту вершину с другими вершинами.

Существует ненаправленный граф с N вершинами, пронумерованными от 1 до N, и изначально он имеет 0 ребер.
Дано Q запросов, обработайте их по порядку. После обработки каждого запроса, выведите количество вершин, не соединенных с любой другой вершиной через ребро.
Запрос i-й  \mathrm{query}_i ,один из следующих двух типов.

-
1 u v: Соедините вершину u и вершину v с ребром. Гарантируется, что когда задается данный запрос, вершина u и вершина v не соединены посредством ребра.

-
2 v: Удалите все ребра, которые соединяющие вершину v с другими вершинами. (Сама вершина V не удаляется.)

Input

The input is given from Standard Input in the following format:
N Q
\mathrm{query}_1
\mathrm{query}_2
\vdots
\mathrm{query}_Q

Output

Print Q lines.
The i-th line (1\leq i\leq Q) should contain the number of vertices that are not connected to any other vertices by an edge.

Constraints

- 2 \leq N\leq 3\times 10^5
- 1 \leq Q\leq 3\times 10^5
- For each query of the first kind, 1\leq u,v\leq N and u\neq v.
- For each query of the second kind, 1\leq v\leq N.
- Right before a query of the first kind is given, there is no edge between vertices u and v.
- All values in the input are integers.

Sample Input 1

3 7
1 1 2
1 1 3
1 2 3
2 1
1 1 2
2 2
1 1 2

Sample Output 1

1
0
0
1
0
3
1

After the first query, vertex 1 and vertex 2 are connected to each other by an edge, but vertex 3 is not connected to any other vertices.
Thus, 1 should be printed in the first line.
After the third query, all pairs of different vertices are connected by an edge.
However, the fourth query asks to remove all edges that connect vertex 1 and the other vertices, specifically to remove the edge between vertex 1 and vertex 2, and another between vertex 1 and vertex 3.
As a result, vertex 2 and vertex 3 are connected to each other, while vertex 1 is not connected to any other vertices by an edge.
Thus, 0 and 1 should be printed in the third and fourth lines, respectively.

Sample Input 2

2 1
2 1

Sample Output 2

2

When the query of the second kind is given, there may be no edge that connects that vertex and the other vertices.


На доске имеется N наборов S_1,S_2,\dots,S_N, состоящих из целых чисел от 1 до M. Здесь S_i = \lbrace S_{i,1},S_{i,2},\dots,S_{i,A_i} \rbrace.
Вы можете выполнить следующую операцию любое количество раз (возможно, ноль):

- выберите два множества X и Y, имеющие хотя бы один общий элемент.  Сотрите их с доски и вместо этого напишите на доске X\cup Y.

Здесь X\cup Y обозначает множество, состоящее из элементов, содержащихся хотя бы в одном из X и Y.
Определите, можно ли получить набор, содержащий и 1, и M. Если это возможно, найдите минимальное количество операций, необходимое для его получения.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
N M
A_1
S_{1,1} S_{1,2} \dots S_{1,A_1}
A_2
S_{2,1} S_{2,2} \dots S_{2,A_2}
\vdots
A_N
S_{N,1} S_{N,2} \dots S_{N,A_N}

Вывод

Если можно получить набор, содержащий и 1, и M, выведите минимальное количество операций, необходимое для его получения; если это невозможно, вместо этого выведите -1.

Ограничения

- 1 \le N \le 2 \times 10^5
- 2 \le M \le 2 \times 10^5
- 1 \le \sum_{i=1}^{N} A_i \le 5 \times 10^5
- 1 \le S_{i,j} \le M(1 \le i \le N,1 \le j \le A_i)
- S_{i,j} \neq S_{i,k}(1 \le j < k \le A_i)
- Все значения во входных данных являются целыми числами.

Пример ввода 1

3 5
2
1 2
2
2 3
3
3 4 5

Пример вывода 1

2

Сначала выберите и удалите \lbrace 1,2 \rbrace и \lbrace 2,3 \rbrace, чтобы получить \lbrace 1,2,3 \rbrace.
Затем выберите и удалите \lbrace 1,2,3 \rbrace и \lbrace 3,4,5 \rbrace, чтобы получить \lbrace 1,2,3,4,5 \rbrace.
Таким образом, можно получить набор, содержащий как 1, так и M, с помощью двух операций.  Поскольку невозможно достичь цели, выполнив операцию только один раз, ответ 2.

Пример ввода 2

1 2
2
1 2

Пример вывода 2

0

S_1 уже содержит как 1, так и M, поэтому минимальное количество требуемых операций равно 0.

Пример ввода 3

3 5
2
1 3
2
2 4
3
2 4 5

Пример вывода 3

-1

Пример ввода 4

4 8
3
1 3 5
2
1 2
3
2 4 7
4
4 6 7 8

Пример вывода 4

2

На доске находятся N множеств S_1,S_2,\dots,S_N, состоящих из целых чисел от 1 до M. Здесь S_i = \lbrace S_{i,1},S_{i,2},\dots,S_{i,A_i} \rbrace.
Вы можете выполнять следующую операцию любое количество раз (возможно, ноль):

- выберите два множества X и Y, имеющих хотя бы один общий элемент. Удалите их с доски и запишите X\cup Y вместо них.

Здесь X\cup Y обозначает множество, состоящее из элементов, содержащихся хотя бы в одном из X и Y.
Необходимо определить, можно ли получить множество, содержащее как 1, так и M. Если это возможно, найдите минимальное количество операций, необходимых для его получения.

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

Ввод подается с стандартного ввода в следующем формате:
N M
A_1
S_{1,1} S_{1,2} \dots S_{1,A_1}
A_2
S_{2,1} S_{2,2} \dots S_{2,A_2}
\vdots
A_N
S_{N,1} S_{N,2} \dots S_{N,A_N}

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

Если можно получить множество, содержащее как 1, так и M, выведите минимальное количество операций, необходимых для его получения; если это невозможно, выведите -1.

Ограничения

- 1 \le N \le 2 \times 10^5
- 2 \le M \le 2 \times 10^5
- 1 \le \sum_{i=1}^{N} A_i \le 5 \times 10^5
- 1 \le S_{i,j} \le M(1 \le i \le N,1 \le j \le A_i)
- S_{i,j} \neq S_{i,k}(1 \le j < k \le A_i)
- Все значения во входных данных целые.

Пример ввода 1

3 5
2
1 2
2
2 3
3
3 4 5

Пример вывода 1

2

Сначала выберите и удалите \lbrace 1,2 \rbrace и \lbrace 2,3 \rbrace, чтобы получить \lbrace 1,2,3 \rbrace.
Затем выберите и удалите \lbrace 1,2,3 \rbrace и \lbrace 3,4,5 \rbrace, чтобы получить \lbrace 1,2,3,4,5 \rbrace.
Таким образом, можно получить множество, содержащее как 1, так и M, выполнив две операции. Поскольку нельзя достигнуть цели, выполнив операцию только один раз, ответ 2.

Пример ввода 2

1 2
2
1 2

Пример вывода 2

0

S_1 уже содержит как 1, так и M, поэтому минимальное количество операций, необходимых для этого, равно 0.

Пример ввода 3

3 5
2
1 3
2
2 4
3
2 4 5

Пример вывода 3

-1

Пример ввода 4

4 8
3
1 3 5
2
1 2
3
2 4 7
4
4 6 7 8

Пример вывода 4

2

На доске находятся N наборов S_1,S_2,\dots,S_N, состоящих из чисел от 1 до M. здесь, S_i = \lbrace S_{i,1},S_{i,2},\dots,S_{i,A_i} \rbrace.
Вы можете выполнить следующую операцию любое количество раз (возможно, ноль):

- выберите два набора X и Y по крайней мере с одним общим элементом. Стереть их с доски и вместо этого написать X\cup Y на доске.

Здесь X\cup Y обозначает набор, состоящий из элементов, содержащихся по крайней мере в одном из X и Y.
Определить, можно ли получить набор, содержащий как 1, так и M. если это возможно, найти минимальное количество операций, необходимых для его получения.

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

Ввод осуществляется из стандартного ввода в следующем формате:
N M
A_1
S_{1,1} S_{1,2} \dots S_{1,A_1}
A_2
S_{2,1} S_{2,2} \dots S_{2,A_2}
\vdots
A_N
S_{N,1} S_{N,2} \dots S_{N,A_N}

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

Если можно получить набор, содержащий как 1, так и M, выведите минимальное количество операций, необходимое для его получения; Если это невозможно, вместо этого выведите -1.

А. ограничения

- 1 \le N \le 2 \times 10^5
- 2 \le M \le 2 \times 10^5
- 1 \le \sum_{i=1}^{N} A_i \le 5 \times 10^5
- 1 \le S_{i,j} \le M(1 \le i \le N,1 \le j \le A_i)
- S_{i,j} \neq S_{i,k}(1 \le j < k \le A_i)
- все значения во вводе являются числами.

Входные данные выборки 1

3 5
2
1 2
2
2 3
3
3 4 5

Выходной сигнал выборки 1

2

lbrace 1,2,3 \rbrace
Затем выберите и удалите \lbrace 1,2,3 \rbrace и \lbrace 3,4,5 \rbrace, чтобы получить \lbrace 1,2,3,4,5 \rbrace.
Таким образом, можно получить набор, содержащий как 1, так и M с двумя операциями. Поскольку цель не может быть достигнута, выполнив операцию только Один раз, ответ  2.

Вход в выборку 2

1 2
2
1 2

Выходной сигнал выборки 2

0

S_1 уже содержит как 1, так и M, поэтому минимальное количество необходимых операций - 0.

Вход в выборку 3

3 5
2
1 3
2
2 4
3
2 4 5

Выходной сигнал выборки 3

-1

Вход в выборку 4

4 8
3
1 3 5
2
1 2
3
2 4 7
4
4 6 7 8

Выходной сигнал выборки 4

2


Два символа x и y называются похожими символами, если и только если выполняется одно из следующих условий:

- x и y являются одним и тем же символом.
- Один из x и y равен 1, а другой равен l.
- Один из x и y равен 0, а другой равен o.

Две строки S и T, каждая длиной N, называются похожими строками, если и только если:

- для всех i\ (1\leq i\leq N), i-й символ S и i-й символ T являются похожими символами.

Для двух строк S и T длиной N, состоящих из строчных английских букв и цифр, определите, являются ли S и T похожими строками.

Ввод

Ввод дается из стандартного ввода в следующем формате:
N
S
T

Вывод

Выведите Yes, если S и T являются похожими строками, и No в противном случае.

Ограничения

- N — целое число от 1 до 100.
- Каждое из S и T — строка длины N, состоящая из строчных английских букв и цифр.

Пример ввода 1

3
l0w
1ow

Пример вывода 1

Yes

Первый символ S — l, а первый символ T — 1. Это похожие символы.
Второй символ S — 0, а второй символ T — o. Это похожие символы.
Третий символ S — w, а третий символ T — w. Это похожие символы.
Таким образом, S и T — похожие строки.

Пример ввода 2

3
abc
arc

Пример вывода 2

No

Второй символ S — b, а второй символ T — r. Это не похожие символы.
Таким образом, S и T — не похожие строки.

Пример ввода 3

4
nok0
n0ko

Пример вывода 3

Yes

Два символа x и y называются похожими, если и только если выполнено одно из следующих условий:

- x и y — это один и тот же символ.
- Один из x и y — это 1, а другой — l.
- Один из x и y — это 0, а другой — o.

Две строки S и T длины N называются похожими, если и только если:

- для всех i\ (1\leq i\leq N) i-й символ S и i-й символ T являются похожими символами.

Даны две строки длины N, S и T, состоящие из строчных букв английского алфавита и цифр. Определите, являются ли S и T похожими строками.

Ввод

Ввод поступает с стандартного ввода в следующем формате:
N
S
T

Вывод

Выведите Yes, если S и T являются похожими строками, и No в противном случае.

Ограничения

- N — целое число от 1 до 100.
- Каждая из строк S и T имеет длину N и состоит из строчных букв английского алфавита и цифр.

Пример ввода 1

3
l0w
1ow

Пример вывода 1

Yes

1-й символ S — l, и 1-й символ T — 1. Это похожие символы.
2-й символ S — 0, и 2-й символ T — o. Это похожие символы.
3-й символ S — w, и 3-й символ T — w. Это похожие символы.
Таким образом, S и T являются похожими строками.

Пример ввода 2

3
abc
arc

Пример вывода 2

No

2-й символ S — b, и 2-й символ T — r. Эти символы не являются похожими.
Таким образом, S и T не являются похожими строками.

Пример ввода 3

4
nok0
n0ko

Пример вывода 3

Yes


Дано, что N человек с номерами 1,2,\ldots,N были на M фотографиях. На каждой фотографии они стояли в одну линию. На i-й фотографии, j-й человек слева — это человек a_{i,j}.
Два человека, которые не стояли рядом друг с другом ни на одной фотографии, могут быть в плохом настроении.
Сколько пар людей могут быть в плохом настроении? Здесь мы не различаем пару людей x и y, и пару людей y и x.

Ввод

Ввод предоставляется в следующем формате:
N M
a_{1,1} \ldots a_{1,N}
\vdots
a_{M,1} \ldots a_{M,N}

Вывод

Выведите ответ.

Ограничения

- 2 \leq N \leq 50
- 1 \leq M \leq 50
- 1 \leq a_{i,j} \leq N
- a_{i,1},\ldots,a_{i,N} содержат каждое из чисел 1,\ldots,N ровно один раз.
- Все значения во вводе — целые числа.

Пример ввода 1

4 2
1 2 3 4
4 3 1 2

Пример вывода 1

2

Пара людей 1 и 4, и пара людей 2 и 4 могут быть в плохом настроении.

Пример ввода 2

3 3
1 2 3
3 1 2
1 2 3

Пример вывода 2

0

Пример ввода 3

10 10
4 10 7 2 8 3 9 1 6 5
3 6 2 9 1 8 10 7 4 5
9 3 4 5 7 10 1 8 2 6
7 3 1 8 4 9 5 6 2 10
5 2 1 4 10 7 9 8 3 6
5 8 1 6 9 3 2 4 7 10
8 10 3 4 5 7 2 9 6 1
3 10 2 7 8 5 1 4 9 6
10 6 1 5 4 2 3 8 9 7
4 5 9 1 8 2 7 6 3 10

Пример вывода 3

6

N человек с номерами 1,2,\ldots,N были на M фотографиях. На каждой из фотографий они стояли в одну линию. На i-й фотографии j-й человек слева — это человек a_{i,j}.
Два человека, которые не стояли рядом друг с другом ни на одной из фотографий, могут быть в плохом настроении.
Сколько пар людей могут быть в плохом настроении? Здесь мы не различаем пару человек x и человека y, и пару человек y и человека x.

Ввод

Ввод дается из Стандартного ввода в следующем формате:
N M
a_{1,1} \ldots a_{1,N}
\vdots
a_{M,1} \ldots a_{M,N}

Вывод

Выведите ответ.

Ограничения

- 2 \leq N \leq 50
- 1 \leq M \leq 50
- 1 \leq a_{i,j} \leq N
- a_{i,1},\ldots,a_{i,N} contain each of 1,\ldots,N exactly once.
- Все значения на входе являются целыми числами.

Пример ввода 1

4 2
1 2 3 4
4 3 1 2

Пример вывода 1

2

Пара человек 1 и человек 4, а также пара человек 2 и человек 4 могут быть в плохом настроении.

Пример ввода 2

3 3
1 2 3
3 1 2
1 2 3

Пример вывода 2

0

Пример ввода 3

10 10
4 10 7 2 8 3 9 1 6 5
3 6 2 9 1 8 10 7 4 5
9 3 4 5 7 10 1 8 2 6
7 3 1 8 4 9 5 6 2 10
5 2 1 4 10 7 9 8 3 6
5 8 1 6 9 3 2 4 7 10
8 10 3 4 5 7 2 9 6 1
3 10 2 7 8 5 1 4 9 6
10 6 1 5 4 2 3 8 9 7
4 5 9 1 8 2 7 6 3 10

Пример вывода 3

6

N человек, перечисленные как 1,2,\ldots,N присутствовали на M фотографий.  На каждой фотографии они стояли на одной линии.  На i-ой фото  j-ть человек слева - это человек a_{i,j}.
Два человека, которые не стояли рядом на любой из этих фотографий, могут быть в плохом настроении.
Сколько пар людей могут быть в плохом настроении? Здесь мы не разделяем пару из человека x и человека y или пару из человека y  и человека x.

Input

The input is given from Standard Input in the following format:
N M
a_{1,1} \ldots a_{1,N}
\vdots
a_{M,1} \ldots a_{M,N}

Output

Print the answer.

Constraints

- 2 \leq N \leq 50
- 1 \leq M \leq 50
- 1 \leq a_{i,j} \leq N
- a_{i,1},\ldots,a_{i,N} contain each of 1,\ldots,N exactly once.
- All values in the input are integers.

Sample Input 1

4 2
1 2 3 4
4 3 1 2

Sample Output 1

2

The pair of person 1 and person 4, and the pair of person 2 and person 4, may be in a bad mood.

Sample Input 2

3 3
1 2 3
3 1 2
1 2 3

Sample Output 2

0

Sample Input 3

10 10
4 10 7 2 8 3 9 1 6 5
3 6 2 9 1 8 10 7 4 5
9 3 4 5 7 10 1 8 2 6
7 3 1 8 4 9 5 6 2 10
5 2 1 4 10 7 9 8 3 6
5 8 1 6 9 3 2 4 7 10
8 10 3 4 5 7 2 9 6 1
3 10 2 7 8 5 1 4 9 6
10 6 1 5 4 2 3 8 9 7
4 5 9 1 8 2 7 6 3 10

Sample Output 3

6


На двумерной плоскости Такахаси изначально находится в точке (0, 0), и его начальное здоровье равно H. На плоскости расположены M предметов для восстановления здоровья; i-й из них находится в точке (x_i,y_i).
Такахаси сделает N перемещений. i-е перемещение такое:

- Пусть (x,y) — его текущие координаты. Он тратит здоровье 1, чтобы переместиться в следующую точку, в зависимости от S_i, i-го символа строки S:

- (x+1,y), если S_i — R;
- (x-1,y), если S_i — L;
- (x,y+1), если S_i — U;
- (x,y-1), если S_i — D.

- Если здоровье Такахаси стало отрицательным, он падает и перестает двигаться. В противном случае, если в точке, куда он переместился, есть предмет, и его здоровье строго меньше K, он использует предмет, чтобы восстановить здоровье до K.

Определите, сможет ли Такахаси завершить N перемещений, не потеряв сознание.

Ввод

Ввод предоставлен в следующем формате:
N M H K
S
x_1 y_1
\vdots
x_M y_M

Вывод

Выведите Yes, если он сможет завершить N перемещений, не потеряв сознание; в противном случае выведите No.

Ограничения

- 1\leq N,M,H,K\leq 2\times 10^5
- S — строка длины N, состоящая из R, L, U и D.
- |x_i|,|y_i| \leq 2\times 10^5
- (x_i, y_i) — попарно различные.
- Все значения во входных данных целые, кроме S.

Пример ввода 1

4 2 3 1
RUDL
-1 -1
1 0

Пример вывода 1

Yes

Изначально здоровье Такахаси равно 3. Описываем перемещения ниже.

- 1-е перемещение: S_i — R, он перемещается в точку (1,0). Его здоровье уменьшается до 2. Хотя в точке (1,0) есть предмет, он его не использует, так как его здоровье не меньше K=1.

- 2-е перемещение: S_i — U, он перемещается в точку (1,1). Его здоровье уменьшается до 1.

- 3-е перемещение: S_i — D, он перемещается в точку (1,0). Его здоровье уменьшается до 0. В точке (1,0) есть предмет, и его здоровье меньше K=1, поэтому он использует предмет, чтобы восстановить здоровье до 1.

- 4-е перемещение: S_i — L, он перемещается в точку (0,0). Его здоровье уменьшается до 0.

Таким образом, он может сделать 4 перемещения, не падая в обморок, поэтому должно быть напечатано Yes. Отметим, что здоровье может достигать 0.

Пример ввода 2

5 2 1 5
LDRLD
0 0
-1 -1

Пример вывода 2

No

Изначально здоровье Такахаси равно 1. Описываем перемещения ниже.

- 1-е перемещение: S_i — L, он перемещается в точку (-1,0). Его здоровье уменьшается до 0.

- 2-е перемещение: S_i — D, он перемещается в точку (-1,-1). Его здоровье уменьшается до -1. Поскольку здоровье равно -1, он падает и перестает двигаться.

Таким образом, он потеряет сознание, поэтому должно быть напечатано No. Отметим, что, хотя в начальной точке (0,0) есть предмет, он не использует его перед 1-м перемещением, так как предметы используются только после перемещения.

На двухмерной плоскости Такахаши изначально находится в точке (0, 0), и его начальное здоровье равно H. На плоскость помещается M предметов для восстановления здоровья; i-й из них помещается в (x_i,y_i).
Такахаши сделает N ходов.  i-й ход заключается в следующем.

-
Пусть (x,y) это его текущие координаты.  Он тратит здоровье 1, чтобы перейти к следующей точке, в зависимости от S_i, i-го символа S:

- (x+1,y), если S_i равно R;
- (x-1,y), если S_i равно L;
- (x,y+1), если S_i представляет собой U;
- (x,y-1), если S_i равно D.

-
Если здоровье Такахаши стало отрицательным, он падает в обморок и перестаёт двигаться.  В противном случае, если предмет помещён в точку, куда он переместился, и его здоровье строго меньше K, то он потребляет этот предмет там, чтобы пополнить своё здоровье K.

Определите, сможет ли Такахаши выполнить N ходов, не будучи оглушенным.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
N M H K
S
x_1 y_1
\vdots
x_M y_M

Вывод

Выведите Yes, если он может выполнить N ходов, не будучи оглушенным; напечатать Нет иначе.

Ограничения

- 1\leq N,M,H,K\leq 2\times 10^5
- S это строка длины N, состоящая из R, L, U, и D.
- |x_i|,|y_i| \leq 2\times 10^5
- (x_i, y_i) попарно различны.
- Все значения во входных данных являются целыми числами, кроме S.

Пример ввода 1

4 2 3 1
RUDL
-1 -1
1 0

Пример вывода 1

Yes

Изначально здоровье Такахаши равно 3. Ходы опишем ниже.

-
1-й ход: S_i это R, поэтому он перемещается в точку (1,0).  Его здоровье уменьшается до 2. Хотя предмет находится в точке (1,0), он не потребляет его, поскольку его здоровье не меньше K=1.

-
2-й ход: S_i это U, поэтому он перемещается в точку (1,1).  Его здоровье снижается до 1.

-
3-й ход: S_i это D, поэтому он перемещается в точку (1,0).  Его здоровье уменьшается до 0. Предмет помещается в точку (1,0), и его здоровье меньше K=1, поэтому он потребляет этот предмет, чтобы его здоровье стало равным 1.

-
4-й ход: S_i равен L, поэтому он перемещается в точку (0,0).  Его здоровье снижается до 0.

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

Пример ввода 2

5 2 1 5
LDRLD
0 0
-1 -1

Пример вывода 2

No

Изначально здоровье Такахаши равно 1. Ходы опишем ниже.

-
1-й ход: S_i равен L, поэтому он перемещается в точку (-1,0).  Его здоровье снижается до 0.

-
2-й ход: S_i это D, поэтому он переходит в точку (-1,-1).  Его здоровье снижается до -1.  Теперь, когда здоровье -1, он падает и перестает двигаться.

Таким образом, он будет оглушён, поэтому следует печатать No.
Обратите внимание, хотя в его начальной точке (0,0) есть предмет, он не потребляет его до 1-го хода, поскольку предметы расходуются только после хода.

На двумерной плоскости Такахаши изначально находится в точке (0, 0), а его начальное здоровье равно H. На плоскости размещены M предметов для восстановления здоровья; i-й из них размещен в точке (x_i,y_i).
Такахаши сделает N ходов. i-й ход выглядит следующим образом.

-
Пусть (x,y) будут его текущими координатами. Он потребляет здоровье, равное 1, чтобы перейти в следующую точку, в зависимости от S_i, i-го символа S:

- (x+1,y) if S_i is R;
- (x-1,y) if S_i is L;
- (x,y+1) if S_i is U;
- (x,y-1) if S_i is D.
-
Если здоровье Такахаши стало отрицательным, он падает и перестает двигаться. В противном случае, если предмет помещается в точку, в которую он переместился, и его здоровье строго меньше K, то он потребляет предмет там, чтобы сделать свое здоровье K.

Определите, может ли Такахаши завершить N ходов, не будучи ошеломленным.

Ввод

Вводные данные даются из стандартного ввода в следующем формате:
N M H K
S
x_1 y_1
\vdots
x_M y_M

Вывод

Выведите Yes, если он может завершить N ходов, не будучи ошеломленным; выведите No в противном случае.

Ограничения

- 1\leq N,M,H,K\leq 2\times 10^5
- S — это строка длины N, состоящая из R, L, U и D.
- |x_i|,|y_i| \leq 2\times 10^5
- (x_i, y_i) are pairwise distinct.
- Все значения на входе являются целыми числами, за исключением S.

Пример ввода 1

4 2 3 1
RUDL
-1 -1
1 0

Пример вывода 1

Yes

Изначально здоровье Такахаши равно 3. Мы описываем ходы ниже.

-
1-й ход: S_i — это R, поэтому он перемещается в точку (1,0). Его здоровье уменьшается до 2. Хотя предмет помещается в точку (1,0), он не потребляет его, поскольку его здоровье не меньше K=1.

-
2-й ход: S_i — это U, поэтому он перемещается в точку (1,1). Его здоровье уменьшается до 1.

-
3-й ход: S_i — это D, поэтому он перемещается в точку (1,0). Его здоровье уменьшается до 0. Предмет помещается в точку (1,0), и его здоровье меньше K=1, поэтому он потребляет предмет, чтобы его здоровье стало равным 1.

-
4-й ход: S_i — это L, поэтому он перемещается в точку (0,0). Его здоровье уменьшается до 0.

Таким образом, он может сделать 4 хода, не рухнув, поэтому должно быть выведено Yes. Обратите внимание, что здоровье может достичь 0.

Пример ввода 2

5 2 1 5
LDRLD
0 0
-1 -1

Пример вывода 2

No

Изначально здоровье Такахаши равно 1. Мы описываем ходы ниже.

-
1-й ход: S_i — это L, поэтому он перемещается в точку (-1,0). Его здоровье уменьшается до 0.

-
2-й ход: S_i — это D, поэтому он перемещается в точку (-1,-1). Его здоровье уменьшается до -1. Теперь, когда здоровье равно -1, он падает и перестает двигаться.

Таким образом, он будет ошеломлен, поэтому следует вывести Нет.
Обратите внимание, что хотя в его начальной точке (0,0) есть предмет, он не потребляет его до 1-го хода, потому что предметы потребляются только после хода.


У вашего компьютера есть клавиатура с тремя клавишами: клавиша 'a', клавиша Shift и клавиша Caps Lock. На клавише Caps Lock есть индикатор.
Изначально индикатор на клавише Caps Lock выключен, и на экране отображается пустая строка.
Вы можете совершать следующие три действия сколько угодно раз в любом порядке:

- Потратьте X миллисекунд, чтобы нажать только клавишу 'a'. Если индикатор на клавише Caps Lock выключен, на экране добавляется a; если включен, A.
- Потратьте Y миллисекунд, чтобы нажать одновременно клавишу 'a' и клавишу Shift. Если индикатор на клавише Caps Lock выключен, на экране добавляется A; если включен, a.
- Потратьте Z миллисекунд, чтобы нажать клавишу Caps Lock. Если индикатор на клавише Caps Lock выключен, он включается; если включен, выключается.

Дана строка S, состоящая из A и a. Определите, по крайней мере, сколько миллисекунд вам понадобится, чтобы сделать строку на экране равной S.

Ввод

Ввод задается через стандартный ввод в следующем формате:
X Y Z
S

Вывод

Выведите ответ.

Ограничения

- 1 \leq X,Y,Z \leq 10^9
- X, Y, и Z являются целыми числами.
- 1 \leq |S| \leq 3 \times 10^5
- S — строка, состоящая из A и a.

Пример ввода 1

1 3 3
AAaA

Пример вывода 1

9

Следующая последовательность действий делает строку на экране равной AAaA за 9 миллисекунд, что является минимально возможным временем.

- Потратьте Z(=3) миллисекунд, чтобы нажать клавишу CapsLock. Индикатор на клавише Caps Lock включается.
- Потратьте X(=1) миллисекунд, чтобы нажать клавишу 'a'. На экран добавляется A.
- Потратьте X(=1) миллисекунд, чтобы нажать клавишу 'a'. На экран добавляется A.
- Потратьте Y(=3) миллисекунд, чтобы одновременно нажать клавишу Shift и 'a'. На экран добавляется a.
- Потратьте X(=1) миллисекунд, чтобы нажать клавишу 'a'. На экран добавляется A.

Пример ввода 2

1 1 100
aAaAaA

Пример вывода 2

6

Пример ввода 3

1 2 4
aaAaAaaAAAAaAaaAaAAaaaAAAAA

Пример вывода 3

40

Ваш компьютер оснащен клавиатурой с тремя клавишами: клавишей «a», клавишей Shift и клавишей Caps Lock.  На клавише Caps Lock есть индикатор.
Изначально индикатор на клавише Caps Lock гаснет, и на экране отображается пустая строка.
Вы можете выполнить следующие три действия любое количество раз в любом порядке:

- Потратьте X миллисекунд на нажатие только клавиши «a».  Если индикатор на клавише Caps Lock выключен, к строке на экране добавляется буква a; если он включен, то есть А.
- Потратьте Y миллисекунд на одновременное нажатие клавиш «a» и Shift.  Если индикатор на клавише Caps Lock выключен, к строке на экране добавляется буква A; Если он включен, то есть.
- Потратьте Z миллисекунд на нажатие клавиши Caps Lock.  Если индикатор на клавише Caps Lock не горит, он загорается; Если он включен, он выключается.

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

Input

The input is given from Standard Input in the following format:
X Y Z
S

Output

Print the answer.

Constraints

- 1 \leq X,Y,Z \leq 10^9
- X, Y, and Z are integers.
- 1 \leq |S| \leq 3 \times 10^5
- S is a string consisting of A and a.

Sample Input 1

1 3 3
AAaA

Sample Output 1

9

The following sequence of actions makes the string on the screen equal to AAaA in 9 milliseconds, which is the shortest possible.

- Spend Z(=3) milliseconds to press the CapsLock key.  The light on the Caps Lock key turns on.
- Spend X(=1) milliseconds to press the 'a' key.  A is appended to the string on the screen.
- Spend X(=1) milliseconds to press the 'a' key.  A is appended to the string on the screen.
- Spend Y(=3) milliseconds to press the Shift key and 'a' key simultaneously.  a is appended to the string on the screen.
- Spend X(=1) milliseconds to press the 'a' key.  A is appended to the string on the screen.

Sample Input 2

1 1 100
aAaAaA

Sample Output 2

6

Sample Input 3

1 2 4
aaAaAaaAAAAaAaaAaAAaaaAAAAA

Sample Output 3

40


Граф с (k+1) вершинами и k ребрами называется звездой уровня k\ (k\geq 2) тогда и только тогда, когда:

- у него есть вершина, которая соединена с каждой из других k вершин ребром, и нет других ребер.

Сначала у Такахаши был граф, состоящий из звезд. Он повторял следующую операцию, пока каждая пара вершин в графе не была соединена:

- выбрать две вершины в графе. Здесь вершины должны быть несвязанными, и их степени должны быть обе 1. Добавить ребро, которое соединяет выбранные две вершины.

Затем он произвольно назначил целое число от 1 до N каждой из вершин в графе после процедуры. Полученный граф является деревом; мы называем его T. T имеет (N-1) ребер, i-е из которых соединяет u_i и v_i.
Такахаши теперь забыл количество и уровни звезд, которые у него были изначально. Найдите их, если задано T.

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

Входные данные задаются из стандартного ввода в следующем формате:
N
u_1 v_1
\vdots
u_{N-1} v_{N-1}

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

Предположим, что у Такахаши изначально было M звезд, уровни которых были L=(L_1,L_2,\ldots,L_M).
Сортируйте L по возрастанию и выведите их с пробелами между ними.
Мы можем доказать, что решение в этой задаче единственно.

Ограничения

- 3\leq N\leq 2\times 10^5
- 1\leq u_i, v_i\leq N
- The given graph is an N-vertex tree obtained by the procedure in the problem statement.
- Все значения во входных данных являются целыми числами.

Пример ввода 1

6
1 2
2 3
3 4
4 5
5 6

Пример вывода 1

2 2

Две звезды уровня 2 дают T, как показано на следующем рисунке:

Пример ввода 2

9
3 9
7 8
8 6
4 6
4 1
5 9
7 3
5 2

Пример вывода 2

2 2 2

Пример ввода 3

20
8 3
8 18
2 19
8 20
9 17
19 7
8 7
14 12
2 15
14 10
2 13
2 16
2 1
9 5
10 15
14 6
2 4
2 11
5 12

Пример вывода 3

2 3 4 7

Граф с (k+1) вершинами и k ребрами называется звездой уровня-k\ (k\geq 2) тогда и только тогда, когда:

- У него есть вершина, которая соединена с каждой из остальных k вершин ребром, и других ребер нет.

Сначала у Такахаси был график, состоящий из звезд.  Он повторял следующую операцию до тех пор, пока каждая пара вершин в графе не была соединена:

- Выберите две вершины в графе.  Здесь вершины должны быть разъединены, и обе их степени должны быть равны 1.  Добавьте ребро, которое соединяет выбранные две вершины.

Затем он произвольно присвоил целое число от 1 до N каждой из вершин графа после процедуры.  Полученный граф представляет собой дерево; мы называем его Т.  T имеет (N-1) ребра, i-е из которых соединяет u_i и v_i.
Теперь Такахаси забыл количество и уровни звезд, которые у него были изначально.  Найдите их, учитывая Т.

Ввод

Входные данные подаются из Стандартного ввода в следующем формате:
N
u_1 v_1
\vdots
u_{N-1} v_{N-1}

Выпуск

Предположим, что у Такахаси изначально было M звезд, уровни которых были L=(L_1,L_2,\ldots,L_M).
Отсортируйте L в порядке возрастания и распечатайте их с пробелами между ними.
Мы можем доказать, что решение в этой задаче уникально.

Ограничения целостности

- 3\leq N\leq 2\times 10^5
- 1\leq u_i, v_i\leq N
- Данный граф представляет собой дерево N-вершин, полученное процедурой в условии задачи.
- Все значения во входных данных являются целыми числами.

Пример входных данных 1

6
1 2
2 3
3 4
4 5
5 6

Пример выходных данных 1

2 2

Две звезды 2-го уровня дают T, как показано на следующем рисунке:

Пример входных данных 2

9
3 9
7 8
8 6
4 6
4 1
5 9
7 3
5 2

Пример выходных данных 2

2 2 2

Пример входных данных 3

20
8 3
8 18
2 19
8 20
9 17
19 7
8 7
14 12
2 15
14 10
2 13
2 16
2 1
9 5
10 15
14 6
2 4
2 11
5 12

Пример выходных данных 3

2 3 4 7

Граф с вершинами (k+1) и ребрами k называется звездным уровня-k\ (k\geq 2) если и только:

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

- выберите две вершины в графе. Здесь вершины должны быть несвязными, а их степени должны быть равны 1.  Добавьте ребро, которое соединит две выбранные вершины.

Затем после действия он произвольно присвоил каждой вершине графа целое число от 1 до N. В результате получился граф в виде дерева; мы назовем его T.  У T есть (N-1) ребер, i-th из которых соединяет u_i и v_i.
Сейчас Такахаши позабыл количество и уровни звезд, которые были у него изначально. Найдите их, используя T.

Input

The input is given from Standard Input in the following format:
N
u_1 v_1
\vdots
u_{N-1} v_{N-1}

Output

Suppose that Takahashi initially had M stars, whose levels were L=(L_1,L_2,\ldots,L_M).
Sort L in ascending order, and print them with spaces in between.
We can prove that the solution is unique in this problem.

Constraints

- 3\leq N\leq 2\times 10^5
- 1\leq u_i, v_i\leq N
- The given graph is an N-vertex tree obtained by the procedure in the problem statement.
- All values in the input are integers.

Sample Input 1

6
1 2
2 3
3 4
4 5
5 6

Sample Output 1

2 2

Two level-2 stars yield T, as the following figure shows:

Sample Input 2

9
3 9
7 8
8 6
4 6
4 1
5 9
7 3
5 2

Sample Output 2

2 2 2

Sample Input 3

20
8 3
8 18
2 19
8 20
9 17
19 7
8 7
14 12
2 15
14 10
2 13
2 16
2 1
9 5
10 15
14 6
2 4
2 11
5 12

Sample Output 3

2 3 4 7


Дано N человек, пронумерованных 1, 2, \ldots, N, сидящих в таком порядке по часовой стрелке за круглым столом.
В частности, человек 1 сидит рядом с человеком N в направлении по часовой стрелке.
Для каждого i = 1, 2, \ldots, N, у человека i есть имя S_i и возраст A_i.
Здесь нет двух людей с одинаковым именем или возрастом.
Начиная с самого молодого человека, выведите имена всех N человек в порядке их рассадки по часовой стрелке.

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

Входные данные поступают со стандартного ввода в следующем формате:
N
S_1 A_1
S_2 A_2
\vdots
S_N A_N

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

Выведите N строк.
Для каждого i = 1, 2, \ldots, N, i-я строка должна содержать имя человека, сидящего на i-й позиции по часовой стрелке от самого молодого человека.

Ограничения

- 2 \leq N \leq 100
- N — целое число.
- S_i — строка длиной от 1 до 10, состоящая из строчных английских букв.
- i \neq j \implies S_i \neq S_j
- 0 \leq A_i \leq 10^9
- A_i — целое число.
- i \neq j \implies A_i \neq A_j

Пример входных данных 1

5
alice 31
bob 41
carol 5
dave 92
ellen 65

Пример выходных данных 1

carol
dave
ellen
alice
bob

Самый молодой человек — это человек 3. Поэтому, начиная с человека 3, выведите имена в порядке рассадки по часовой стрелке: человек 3, человек 4, человек 5, человек 1 и человек 2.

Пример входных данных 2

2
takahashi 1000000000
aoki 999999999

Пример выходных данных 2

aoki
takahashi

За круглым столом в этом порядке по часовой стрелке сидят N человек с номерами 1, 2, \ldots, N.
В частности, человек 1 сидит рядом с человеком N по часовой стрелке.
Для каждого i = 1, 2, \ldots, N человек i имеет имя S_i и возраст A_i.
Здесь нет двух людей с одинаковыми именами или возрастом.
Начиная с самого молодого человека, выведите имена всех N человек в порядке их мест для сидения по часовой стрелке.

Ввод

Ввод дается из стандартного ввода в следующем формате:
N
S_1 A_1
S_2 A_2
\vdots
S_N A_N

Вывод

Выведите N строк.

Для каждого i = 1, 2, \ldots, N i-я строка должна содержать имя человека, сидящего на i-й позиции по часовой стрелке от самого молодого человека.

Ограничения

- 2 \leq N \leq 100
- N — целое число.
- S_i — строка длиной от 1 до 10, состоящая из строчных английских букв.
- i \neq j \implies S_i \neq S_j
- 0 \leq A_i \leq 10^9
- A_i — целое число.
- i \neq j \implies A_i \neq A_j

Пример ввода 1

5
alice 31
bob 41
carol 5
dave 92
ellen 65

Пример вывода 1

carol
dave
ellen
alice
bob

Самый молодой человек — человек 3. Поэтому, начиная с человека 3, выведите имена в порядке их расположения по часовой стрелке: человек 3, человек 4, человек 5, человек 1 и человек 2.

Пример ввода 2

2
takahashi 1000000000
aoki 999999999

Пример вывода 2

aoki
takahashi

Вокруг круглого стола в порядке часовой стрелки сидят N человек с номерами 1, 2, \ldots, N.
В частности, человек 1 сидит рядом с человеком N по часовой стрелке.
Для каждого i = 1, 2, \ldots, N, человек i имеет имя S_i и возраст A_i.
Здесь нет двух людей с одинаковым именем или одного возраста.
Начиная с самого младшего, выведите имена всех N человек в порядке их сидячих мест по часовой стрелке.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
N
S_1 A_1
S_2 A_2
\vdots
S_N A_N

Вывод

Выведите N строк.
Для каждого i = 1, 2, \ldots, N i-я строка должна содержать имя человека, сидящего на i-й позиции по часовой стрелке от самого младшего человека.

Ограничения

- 2 \leq N \leq 100
- N это целое число.
- S_i это строка длиной от 1 до 10, состоящая из строчных Английских букв.
- i \neq j \ подразумевает S_i \neq S_j
- 0 \leq A_i \leq 10^9
- A_i это целое число.
- i \neq j \ подразумевает A_i \neq A_j

Пример ввода 1

5
alice 31
bob 41
carol 5
dave 92
ellen 65

Пример вывода 1

carol
dave
ellen
alice
bob

Самый молодой человек это человек 3. Поэтому, начиная с человека 3, выведите имена в порядке их расположения по часовой стрелке: человек 3, человек 4, человек 5, человек 1 и человек 2.

Пример ввода 2

2
takahashi 1000000000
aoki 999999999

Пример вывода 2

aoki
takahashi


Дано целое число N.
Выведите приближение числа N в соответствии со следующими инструкциями.

- Если N меньше или равно \(10^3-1\), выведите N как есть.
- Если N находится в диапазоне от \(10^3\) до \(10^4-1\) включительно, отбросьте одну цифру в разряде единиц и выведите результат.
- Если N находится в диапазоне от \(10^4\) до \(10^5-1\) включительно, отбросьте цифру десятков и все цифры ниже неё в N и выведите результат.
- Если N находится в диапазоне от \(10^5\) до \(10^6-1\) включительно, отбросьте цифру сотен и все цифры ниже неё в N и выведите результат.
- Если N находится в диапазоне от \(10^6\) до \(10^7-1\) включительно, отбросьте цифру тысяч и все цифры ниже неё в N и выведите результат.
- Если N находится в диапазоне от \(10^7\) до \(10^8-1\) включительно, отбросьте цифру десятков тысяч и все цифры ниже неё в N и выведите результат.
- Если N находится в диапазоне от \(10^8\) до \(10^9-1\) включительно, отбросьте цифру сотен тысяч и все цифры ниже неё в N и выведите результат.

Ввод

Ввод поступает из стандартного ввода в следующем формате:
N

Вывод

Выведите ответ.

Ограничения

- N — целое число от 0 до \(10^9-1\) включительно.

Пример ввода 1

20230603

Пример вывода 1

20200000

20230603 находится в диапазоне от \(10^7\) до \(10^8-1\) (включительно).
Следовательно, отбросьте цифру десятков тысяч и все цифры ниже неё, и выведите 20200000.

Пример ввода 2

0

Пример вывода 2

0

Пример ввода 3

304

Пример вывода 3

304

Пример ввода 4

500600

Пример вывода 4

500000

Вам дано целое число N.
Выведите приближенное значение N в соответствии со следующими инструкциями.

- Если N меньше или равно 10^3-1, выведите N как есть.
- Если N находится между 10^3 и 10^4-1 включительно, усеките цифру единиц числа N и выведите результат.
- Если N находится между 10^4 и 10^5-1 включительно, усеките цифру десятков и все цифры ниже нее числа N и выведите результат.
- Если N находится между 10^5 и 10^6-1 включительно, усеките цифру сотен и все цифры ниже нее числа N и выведите результат.
- Если N находится между 10^6 и 10^7-1 включительно, усеките цифру тысяч и все цифры ниже нее числа N и выведите результат.
- Если N находится в диапазоне от 10^7 до 10^8-1 включительно, отбросьте цифру десятков тысяч и все цифры ниже нее от N и выведите результат.

Ввод

Вводные данные даются из стандартного ввода в следующем формате:
N

Вывод

Выведите ответ.

Ограничения

- N — целое число в диапазоне от 0 до 10^9-1 включительно.

Пример ввода 1

20230603

Пример вывода 1

20200000

20230603 находится в диапазоне от 10^7 до 10^8-1 (включительно).
Поэтому отбросьте цифру десятков тысяч и все цифры ниже нее и выведите 20200000.

Пример ввода 2

0

Пример вывода 2

0

Пример ввода 3

304

Пример вывода 3

304

Пример ввода 4

500600

Пример вывода 4

500000


На двумерной плоскости находятся N человек с номерами 1, 2, \ldots, N, а человек i находится в точке, представленной координатами (X_i,Y_i).
Человек 1 был инфицирован вирусом. Вирус распространяется на людей, находящихся на расстоянии D от инфицированного человека.
Здесь расстояние определяется как евклидово расстояние, то есть для двух точек (a_1, a_2) и (b_1, b_2) расстояние между этими двумя точками равно \sqrt {(a_1-b_1)^2 + (a_2-b_2)^2}.
По прошествии достаточного количества времени, то есть когда все люди на расстоянии D от человека i будут инфицированы вирусом, если человек i инфицирован, определить, инфицирован ли человек i вирусом для каждого i.

Ввод

Вводные данные задаются из стандартного ввода в следующем формате:
N D
X_1 Y_1
X_2 Y_2
\vdots
X_N Y_N

Вывод

Выведите N строк. i-я строка должна содержать Yes, если человек i заражен вирусом, и No в противном случае.

Ограничения

- 1 \leq N, D \leq 2000
- -1000 \leq X_i, Y_i \leq 1000
- (X_i, Y_i) \neq (X_j, Y_j), если i \neq j.
- Все входные значения являются целыми числами.

Пример ввода 1

4 5
2 -1
3 1
8 8
0 5

Пример вывода 1

Yes
Yes
No
Yes

Расстояние между человеком 1 и человеком 2 равно \sqrt 5, поэтому человек 2 заражается вирусом.
Кроме того, расстояние между человеком 2 и человеком 4 составляет 5, поэтому человек 4 заражается вирусом.
У человека 3 нет никого на расстоянии 5, поэтому он не будет заражен вирусом.

Пример ввода 2

3 1
0 0
-1000 -1000
1000 1000

Пример вывода 2

Yes
No
No

Пример ввода 3

9 4
3 2
6 -1
1 6
6 5
-2 -3
5 3
2 -3
2 1
2 6

Пример вывода 3

Yes
No
No
Yes
Yes
Yes
Yes
Yes
No

На двумерной плоскости N человек, пронумерованных от 1 до N, причем человек i находится в точке с координатами (X_i,Y_i).
Человек 1 заражен вирусом. Вирус распространяется на людей, находящихся на расстоянии D от зараженного человека.
Здесь расстояние определяется как евклидово расстояние, то есть для двух точек (a_1, a_2) и (b_1, b_2) расстояние между этими двумя точками равно \sqrt {(a_1-b_1)^2 + (a_2-b_2)^2}.
После того, как пройдет достаточное количество времени, то есть, когда все люди на расстоянии D от человека i заражаются вирусом, если человек i заражен, определи, заражен ли вирусом каждый человек i.

Ввод

Ввод осуществляется посредством стандартного ввода в следующем формате:
N D
X_1 Y_1
X_2 Y_2
\vdots
X_N Y_N

Вывод

Выведи N строк. В i-й строке выведи Yes, если человек i заражен вирусом, и No в противном случае.

Ограничения

- 1 \leq N, D \leq 2000
- -1000 \leq X_i, Y_i \leq 1000
- (X_i, Y_i) \neq (X_j, Y_j) если i \neq j.
- Все входные значения — целые числа.

Пример ввода 1

4 5
2 -1
3 1
8 8
0 5

Пример вывода 1

Yes
Yes
No
Yes

Расстояние между человеком 1 и человеком 2 равно \sqrt 5, поэтому человек 2 заражается вирусом.
Также расстояние между человеком 2 и человеком 4 равно 5, поэтому человек 4 заражается вирусом.
Рядом с человеком 3 нет никого в пределах расстояния 5, поэтому он не будет заражены вирусом.

Пример ввода 2

3 1
0 0
-1000 -1000
1000 1000

Пример вывода 2

Yes
No
No

Пример ввода 3

9 4
3 2
6 -1
1 6
6 5
-2 -3
5 3
2 -3
2 1
2 6

Пример вывода 3

Yes
No
No
Yes
Yes
Yes
Yes
Yes
No

На плоскости находятся N человек, пронумерованных от 1 до N, причем человек i находится в точке с координатами (X_i,Y_i).
Человек 1 заражен вирусом. Вирус распространяется на людей, находящихся на расстоянии D от зараженного человека.
Здесь расстояние определяется как евклидово расстояние, то есть для двух точек (a_1, a_2) и (b_1, b_2), расстояние между этими двумя точками равно \sqrt {(a_1-b_1)^2 + (a_2-b_2)^2}.
После того, как пройдет достаточное количество времени, то есть, когда все люди на расстоянии D от человека i заражаются вирусом, если человек i заражен, определите, заражен ли вирусом каждый человек i.

Ввод

Ввод поступает из стандартного ввода в следующем формате:
N D
X_1 Y_1
X_2 Y_2
\vdots
X_N Y_N

Вывод

Выведите N строк. В i-й строке выведите Yes, если человек i заражен вирусом, и No в противном случае.

Ограничения

- 1 \leq N, D \leq 2000
- -1000 \leq X_i, Y_i \leq 1000
- (X_i, Y_i) \neq (X_j, Y_j) если i \neq j.
- Все входные значения - целые числа.

Пример ввода 1

4 5
2 -1
3 1
8 8
0 5

Пример вывода 1

Yes
Yes
No
Yes

Расстояние между человеком 1 и человеком 2 равно \sqrt 5, поэтому человек 2 заражается вирусом.
Также расстояние между человеком 2 и человеком 4 равно 5, поэтому человек 4 заражается вирусом.
У человека 3 нет никого в пределах расстояния 5, поэтому они не будут заражены вирусом.

Пример ввода 2

3 1
0 0
-1000 -1000
1000 1000

Пример вывода 2

Yes
No
No

Пример ввода 3

9 4
3 2
6 -1
1 6
6 5
-2 -3
5 3
2 -3
2 1
2 6

Пример вывода 3

Yes
No
No
Yes
Yes
Yes
Yes
Yes
No


На плоскости xy находится прямоугольный торт с клубникой. Торт занимает прямоугольную область \lbrace (x, y) : 0 \leq x \leq W, 0 \leq y \leq H \rbrace.
На торте N клубник, и координаты i-й клубники равны (p_i, q_i) для i = 1, 2, \ldots, N. Никакие две клубники не имеют одинаковых координат.
Такахаши разрежет торт на несколько частей ножом следующим образом.

- Сначала разрежем торт по A различным линиям, параллельным оси y: линии x = a_1, x = a_2, \ldots, x = a_A.
- Затем разрежем торт по B различным линиям, параллельным оси x: линии y = b_1, y = b_2, \ldots, y = b_B.

В результате торт будет разделен на (A+1)(B+1) прямоугольных частей. Такахаши выберет для еды только одну из этих частей. Выведите минимальное и максимальное возможное количество клубники на выбранной части.
Здесь гарантируется, что по краям конечных частей не будет клубники. Для более формального описания см. ограничения ниже.

Ввод

Вводные данные даются из стандартного ввода в следующем формате:
W H
N
p_1 q_1
p_2 q_2
\vdots
p_N q_N
A
a_1 a_2 \ldots a_A
B
b_1 b_2 \ldots b_B

Вывод

Выведите минимальное возможное количество клубники m и максимальное возможное количество M на выбранной части в следующем формате, разделенные пробелом.
m M

Ограничения

- 3 \leq W, H \leq 10^9
- 1 \leq N \leq 2 \times 10^5
- 0 \lt p_i \lt W
- 0 \lt q_i \lt H
- i \neq j \implies (p_i, q_i) \neq (p_j, q_j)
- 1 \leq A, B \leq 2 \times 10^5
- 0 \lt a_1 \lt a_2 \lt \cdots \lt a_A \lt W
- 0 \lt b_1 \lt b_2 \lt \cdots \lt b_B \lt H
- p_i \not \in \lbrace a_1, a_2, \ldots, a_A \rbrace
- q_i \not \in \lbrace b_1, b_2, \ldots, b_B \rbrace
- Все входные значения являются целыми числами.

Пример ввода 1

7 6
5
6 1
3 1
4 2
1 5
6 2
2
2 5
2
3 4

Пример вывода 1

0 2

Всего девять кусочков: шесть с нулевой клубникой, один с одной клубникой и два с двумя клубниками. Таким образом, при выборе только одного из этих кусочков для еды минимально возможное количество клубник на выбранном кусочке равно 0, а максимально возможное количество — 2.

Пример ввода 2

4 4
4
1 1
3 1
3 3
1 3
1
2
1
2

Пример вывода 2

1 1

На каждом кусочке есть одна клубника.

На плоскости xy находится прямоугольный торт с клубникой. Торт занимает прямоугольную область \lbrace (x, y) : 0 \leq x \leq W, 0 \leq y \leq H \rbrace.
На торте N клубник, координаты i-й клубники равны (p_i, q_i) для i = 1, 2, \ldots, N. У всех клубник разные координаты.
Такахаси разрежет торт на несколько частей ножом следующим образом.

- Сначала разрежет торт вдоль различных линий А, параллельных оси y: линии x = a_1, x = a_2, \ldots, x = a_A.
- Затем разрежет торт вдоль различных линий B, параллельных оси x: линии y = b_1, y = b_2, \ldots, y = b_B.

В результате торт будет разделен на (A+1)(B+1) прямоугольных кусочков. Такахаси выберет только один из этих кусочков, чтобы его съесть. Выведи минимальное и максимальное возможное количество клубник на выбранном кусочке.

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

Ввод

Ввод осуществляется посредством стандартного ввода в следующем формате:
W H
N
p_1 q_1
p_2 q_2
\vdots
p_N q_N
A
a_1 a_2 \ldots a_A
B
b_1 b_2 \ldots b_B

Вывод

Выведи минимально возможное количество клубник m и максимально возможное количество M на выбранном кусочке в следующем формате, разделяя их пробелом.
m M

Ограничения

- 3 \leq W, H \leq 10^9
- 1 \leq N \leq 2 \times 10^5
- 0 \lt p_i \lt W
- 0 \lt q_i \lt H
- i \neq j \implies (p_i, q_i) \neq (p_j, q_j)
- 1 \leq A, B \leq 2 \times 10^5
- 0 \lt a_1 \lt a_2 \lt \cdots \lt a_A \lt W
- 0 \lt b_1 \lt b_2 \lt \cdots \lt b_B \lt H
- p_i \not \in \lbrace a_1, a_2, \ldots, a_A \rbrace
- q_i \not \in \lbrace b_1, b_2, \ldots, b_B \rbrace
- Все входные значения — целые числа.

Пример ввода 1

7 6
5
6 1
3 1
4 2
1 5
6 2
2
2 5
2
3 4

Пример вывода 1

0 2

Всего девять кусочков: шесть без клубник, один с одной клубникой и два с двумя клубниками. Таким образом, при выборе только одного из этих кусочков для еды минимально возможное количество клубник на выбранном кусочке равно 0, а максимально возможное количество — 2.

Пример ввода 2

4 4
4
1 1
3 1
3 3
1 3
1
2
1
2

Пример вывода 2

1 1

На каждом кусочке по одной клубнике.

Есть прямоугольный торт с клубникой на плоскости xy. Торт занимает прямоугольную область \lbrace (x, y) : 0 \leq x \leq W, 0 \leq y \leq H \rbrace.
На торте есть N клубники, а координаты i- й клубники (p_i, q_i) для i = 1,2, \ldots, N. нет двух клубник с одинаковыми координатами.
Такахаши разрежет торт на несколько кусочков ножом, как показано ниже.

- во-первых, разрежьте торт вдоль различных линий параллельно оси y: линии x = a_1, x = a_2, \ldots, x = a_A.
- далее, разрежьте торт вдоль B различных линий параллельно оси х: линии y = b_1, y = b_2, \ldots, y = b_B.

В результате торт будет разделен на (a +1)(B+1) прямоугольные части. Такахаши выберет только Один из этих кусочков. Выведите минимальное и максимальное количество клубники на выбранном куске.
Гарантируется, что на краях последних кусочков нет клубники. Более подробное описание см. ниже.

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

Ввод осуществляется из стандартного ввода в следующем формате:
W H
N
p_1 q_1
p_2 q_2
\vdots
p_N q_N
A
a_1 a_2 \ldots a_A
B
b_1 b_2 \ldots b_B

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

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

А. ограничения

- 3 \leq W, H \leq 10^9
- 1 \leq N \leq 2 \times 10^5
- 0 \lt p_i \lt W
- 0 \lt q_i \lt H
- i \neq j \implies (p_i, q_i) \neq (p_j, q_j)
- 1 \leq A, B \leq 2 \times 10^5
- 0 \lt a_1 \lt a_2 \lt \cdots \lt a_A \lt W
- 0 \lt b_1 \lt b_2 \lt \cdots \lt b_B \lt H
- p_i \not \in \lbrace a_1, a_2, \ldots, a_A \rbrace
- q_i \not \in \lbrace b_1, b_2, \ldots, b_B \rbrace
- все входные значения являются числами.

Пример ввода 1

7 6
5
6 1
3 1
4 2
1 5
6 2
2
2 5
2
3 4

Пример вывода 1

0 2

Всего девять кусочков: шесть с нулевой клубникой, одна с одной клубникой, и две с двумя клубниками. Поэтому при выборе только одного из этих кусочков для еды минимальное возможное количество клубники на выбранном кусочке равно 0, а максимальное возможное количество — 2.

Пример ввода 2

4 4
4
1 1
3 1
3 3
1 3
1
2
1
2

Пример вывода 2

1 1

На каждом куске есть клубника.


Дан неориентированный граф G с N вершинами и M рёбрами.
Для i = 1, 2, \ldots, M, i-е ребро - это неориентированное ребро, соединяющее вершины u_i и v_i.
Граф с N вершинами называется хорошим, если для всех i = 1, 2, \ldots, K выполняется следующее условие:

- не существует пути, соединяющего вершины x_i и y_i в G.

Данным граф G является хорошим.
Даны Q независимых вопросов. Ответьте на все из них.
Для i = 1, 2, \ldots, Q, i-й вопрос следующий.

- Является ли граф G^{(i)}, полученный добавлением неориентированного ребра, соединяющего вершины p_i и q_i к данному графу G, хорошим?

Ввод

Вводится из стандартного ввода в следующем формате:
N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M
K
x_1 y_1
x_2 y_2
\vdots
x_K y_K
Q
p_1 q_1
p_2 q_2
\vdots
p_Q q_Q

Вывод

Выведите Q строк.
Для i = 1, 2, \ldots, Q, i-я строка должна содержать ответ на i-й вопрос: Yes, если граф G^{(i)} хороший, и No в противном случае.

Ограничения

- 2 \leq N \leq 2 \times 10^5
- 0 \leq M \leq 2 \times10^5
- 1 \leq u_i, v_i \leq N
- 1 \leq K \leq 2 \times 10^5
- 1 \leq x_i, y_i \leq N
- x_i \neq y_i
- i \neq j \implies \lbrace x_i, y_i \rbrace \neq \lbrace x_j, y_j \rbrace
- Для всех i = 1, 2, \ldots, K, не существует пути, соединяющего вершины x_i и y_i.
- 1 \leq Q \leq 2 \times 10^5
- 1 \leq p_i, q_i \leq N
- p_i \neq q_i
- Все входные значения — целые числа.

Пример ввода 1

6 6
1 2
2 3
2 3
3 1
5 4
5 5
3
1 5
2 6
4 3
4
2 5
2 6
5 6
5 4

Пример вывода 1

No
No
Yes
Yes

- В первом вопросе граф G^{(1)} не является хорошим, потому что существует путь 1 \rightarrow 2 \rightarrow 5, соединяющий вершины x_1 = 1 и y_1 = 5. Следовательно, выведите No.
- Во втором вопросе граф G^{(2)} не является хорошим, потому что существует путь 2 \rightarrow 6, соединяющий вершины x_2 = 2 и y_2 = 6. Следовательно, выведите No.
- В третьем вопросе граф G^{(3)} является хорошим. Следовательно, выведите Yes.
- В четвёртом вопросе граф G^{(4)} является хорошим. Следовательно, выведите Yes.

Как видно из этого примера ввода, данный граф G может содержать петли или кратные рёбра.

Вам дан неориентированный граф G с N вершинами и M ребрами.
Для i = 1, 2, \ldots, M i-е ребро является неориентированным ребром, соединяющим вершины u_i и v_i.
Граф с N вершинами называется хорошим, если для всех i = 1, 2, \ldots, K выполняется следующее условие:

- в G нет пути, соединяющего вершины x_i и y_i.

Данный граф G является хорошим.
Вам дано Q независимых вопросов. Ответьте на все из них.
Для i = 1, 2, \ldots, Q i-й вопрос выглядит следующим образом.

- Является ли граф G^{(i)}, полученный добавлением неориентированного ребра между вершинами p_i и q_i, хорошим?

Ввод

Вводные данные задаются из стандартного ввода в следующем формате:
N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M
K
x_1 y_1
x_2 y_2
\vdots
x_K y_K
Q
p_1 q_1
p_2 q_2
\vdots
p_Q q_Q

Вывод

Выведите Q строк.

Для i = 1, 2, \ldots, Q i-я строка должна содержать ответ на i-й вопрос: Yes, если график G^{(i)} хорош, и Нет в противном случае.

Ограничения

- 2 \leq N \leq 2 \times 10^5
- 0 \leq M \leq 2 \times10^5
- 1 \leq u_i, v_i \leq N
- 1 \leq K \leq 2 \times 10^5
- 1 \leq x_i, y_i \leq N
- x_i \neq y_i
- i \neq j \implies \lbrace x_i, y_i \rbrace \neq \lbrace x_j, y_j \rbrace
- For all i = 1, 2, \ldots, K, there is no path connecting vertices x_i and y_i.
- 1 \leq Q \leq 2 \times 10^5
- 1 \leq p_i, q_i \leq N
- p_i \neq q_i
- Все входные значения являются целыми числами.

Пример ввода 1

6 6
1 2
2 3
2 3
3 1
5 4
5 5
3
1 5
2 6
4 3
4
2 5
2 6
5 6
5 4

Пример вывода 1

No
No
Yes
Yes

- Для первого вопроса граф G^{(1)} не хорошим, так как у него есть путь 1 \rightarrow 2 \rightarrow 5, соединяющий вершины x_1 = 1 и y_1 = 5. Поэтому выведите No.
- Для второго вопроса граф G^{(2)} не хорошим, так как у него есть путь 2 \rightarrow 6, соединяющий вершины x_2 = 2 и y_2 = 6. Поэтому выведите No.
- Для третьего вопроса граф G^{(3)} хорошим. Поэтому выведите Yes.
- Для четвертого вопроса граф G^{(4)} хорошим. Поэтому выведите Yes.

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

Вам дан неориентированный граф G с N вершин и M ребер.
Для i = 1, 2, \ldots, M,  i-th ребро является неориентированным ребром, соединяющим вершины u_i и v_i.
Граф с N вершинами называется позитивным, если следующие условия соблюдаются для всех i = 1, 2, \ldots, K:

-не существует пути, соединяющего вершины x_i и y_i в G.

Данный граф G является позитивным.
Вам даны Q независимых вопросов. Вам необходимо ответить на все.
Для i = 1, 2, \ldots, Q, i-th вопрос, как следующий.

- Является ли граф G^{(i)} полученный благодаря добавлению неориентированного ребра, соединяющего неориентированные вершины p_i с q_i с данным графом позитивным?

Input

The input is given from Standard Input in the following format:
N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M
K
x_1 y_1
x_2 y_2
\vdots
x_K y_K
Q
p_1 q_1
p_2 q_2
\vdots
p_Q q_Q

Output

Print Q lines.
For i = 1, 2, \ldots, Q, the i-th line should contain the answer to the i-th question: Yes if the graph G^{(i)} is good, and No otherwise.

Constraints

- 2 \leq N \leq 2 \times 10^5
- 0 \leq M \leq 2 \times10^5
- 1 \leq u_i, v_i \leq N
- 1 \leq K \leq 2 \times 10^5
- 1 \leq x_i, y_i \leq N
- x_i \neq y_i
- i \neq j \implies \lbrace x_i, y_i \rbrace \neq \lbrace x_j, y_j \rbrace
- For all i = 1, 2, \ldots, K, there is no path connecting vertices x_i and y_i.
- 1 \leq Q \leq 2 \times 10^5
- 1 \leq p_i, q_i \leq N
- p_i \neq q_i
- All input values are integers.

Sample Input 1

6 6
1 2
2 3
2 3
3 1
5 4
5 5
3
1 5
2 6
4 3
4
2 5
2 6
5 6
5 4

Sample Output 1

No
No
Yes
Yes

- For the first question, the graph G^{(1)} is not good because it has a path 1 \rightarrow 2 \rightarrow 5 connecting vertices x_1 = 1 and y_1 = 5. Therefore, print No.
- For the second question, the graph G^{(2)} is not good because it has a path 2 \rightarrow 6 connecting vertices x_2 = 2 and y_2 = 6. Therefore, print No.
- For the third question, the graph G^{(3)} is good. Therefore, print Yes.
- For the fourth question, the graph G^{(4)} is good. Therefore, print Yes.

As seen in this sample input, note that the given graph G may have self-loops or multi-edges.


Есть ультрамарафонский маршрут протяженностью 100\;\mathrm{км}.
Пункты с водой расположены каждые 5\;\mathrm{км} вдоль маршрута, включая старт и финиш, всего 21.
Такаши находится в точке N\;\mathrm{км} этого маршрута.
Найдите позицию ближайшего к нему пункта с водой.
С учетом ограничений задачи можно доказать, что ближайший пункт с водой однозначно определяется.

Ввод

Вводятся данные с стандартного ввода в следующем формате:
N

Вывод

Выведите расстояние между стартом и ближайшим к Такаши пунктом с водой в километрах в одной строке.

Ограничения

- 0\leq N\leq100
- N — целое число.

Пример ввода 1

53

Пример вывода 1

55

Такаши находится в 53\;\mathrm{км} точке маршрута.
Пункт с водой в точке 55\;\mathrm{км} находится на расстоянии 2\;\mathrm{км}, и более близкого пункта с водой нет.
Поэтому следует вывести 55.

Пример ввода 2

21

Пример вывода 2

20

Такаши также может вернуться назад.

Пример ввода 3

100

Пример вывода 3

100

Существуют также пункты с водой на старте и финише.
Кроме того, Такаши может уже находиться в пункте с водой.

Существует ультрамарафонский курс на общую сумму 100 \; \ mathrm {km}.
Водные станции устанавливаются каждые 5 \; \ mathrm {km} вдоль курса, включая начало и цель, в общей сложности 21.
Такахаши находится в точке N \; \ Mathrm {km} этого курса.
Найдите ему позицию ближайшей водной станции.
В соответствии с ограничениями этой проблемы можно доказать, что ближайшая водная станция определяется.

Вход

Ввод приведен из стандартного ввода в следующем формате:
N

Выход

Напечатайте расстояние между началом и водной станцией, ближайшей к Такахаши, в километрах, в одной линии.

Ограничения

- 0 \ leq n \ leq100
- n - целое число.

Пример входа 1

53

Пример вывода 1

55

Такахаши находится в 53 \; \ mathrm {км} точке курса.
Водная станция в точке 55 \; \ mathrm {km} составляет 2 \; \ mathrm {km}, и нет ближе к водной станции.
Поэтому вы должны распечатать 55.

Пример входа 2

21

Пример вывода 2

20

Такахаши также мог вернуться обратно.

Образец ввода 3

100

Пример вывода 3

100

Есть также водные станции с самого начала и цели.
Кроме того, Такахаши может уже находиться на водной станции.

Существует ультрамарафонская дистанция общей протяженностью 100\;\mathrm{км}.
пункт питания установлены каждые 5\;\mathrm{км} вдоль трассы, включая старт и конечную точку, всего их 21.
Такахаши находится в точке N\;\mathrm{км} этой трассы.
Найдите положение ближайшей к нему пункт питания.
В рамках ограничений этой задачи можно доказать, что ближайший пункт питания определяется однозначно.

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

Входные данные даются из стандартного ввода в следующем формате:
N

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

Выведите расстояние между стартом и ближайшим к Такахаши пункт питанияом в километрах в одну строку.

Ограничения

- 0\leq N\leq100
- N — целое число.

Пример ввода 1

53

Пример вывода 1

55

Такахаши находится в точке 53\;\mathrm{км} трассы.
пункт питания в точке 55;\mathrm{км} находится на расстоянии 2;\mathrm{км}, и ближе нет других пунктов питания.

Поэтому следует вывести 55.

Пример ввода 2

21

Пример вывода 2

20

Такахаши также может вернуться назад.

Пример ввода 3

100

Пример вывода 3

100

В начале и в конце также есть водопроводные станции.
Кроме того, Такахаши может уже находиться на водопроводной станции.


На прямой линии есть 7 точек A, B, C, D, E, F и G в указанном порядке. (См. также рисунок ниже.)
Расстояния между соседними точками следующие.

- Между A и B: 3
- Между B и C: 1
- Между C и D: 4
- Между D и E: 1
- Между E и F: 5
- Между F и G: 9

Вам даны две заглавные английские буквы p и q. Каждая из p и q — это A, B, C, D, E, F или G, и это означает, что p \neq q.
Найдите расстояние между точками p и q.

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

Входные данные даются из стандартного ввода в следующем формате:
p q

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

Выведите расстояние между точками p и q.

Ограничения

- Каждое из p и q равно A,B,C,D,E,F или G.
- p \neq q

Пример ввода 1

A C

Пример вывода 1

4

Расстояние между точками A и C равно 3 + 1 = 4.

Пример ввода 2

G B

Пример вывода 2

20

Расстояние между точками G и B равно 9 + 5 + 1 + 4 + 1 = 20.

Пример ввода 3

C F

Пример вывода 3

10

На прямой линии находятся 7 точек A, B, C, D, E, F и G в указанном порядке. (См. также рисунок ниже.)
Расстояния между соседними точками следующие.

- Между A и B: 3
- Между B и C: 1
- Между C и D: 4
- Между D и E: 1
- Между E и F: 5
- Между F и G: 9

Вам даны две заглавные английские буквы p и q. Каждая из p и q является A, B, C, D, E, F или G, и при этом p \neq q.
Найдите расстояние между точками p и q.

Ввод

Ввод поступает из стандартного ввода в следующем формате:
p q

Вывод

Выведите расстояние между точками p и q.

Ограничения

- Каждая из p и q является A, B, C, D, E, F или G.
- p \neq q

Пример ввода 1

A C

Пример вывода 1

4

Расстояние между точками A и C составляет 3 + 1 = 4.

Пример ввода 2

G B

Пример вывода 2

20

Расстояние между точками G и B составляет 9 + 5 + 1 + 4 + 1 = 20.

Пример ввода 3

C F

Пример вывода 3

10

На прямой линии находятся 7 точек A, B, C, D, E, F и G в указанном порядке (см. также рисунок ниже.)
Расстояния между соседними точками следующие.

- Между A и B: 3
- Между B и C: 1
- Между C и D: 4
- Между D и E: 1
- Между E и F: 5
- Между F и G: 9

Даны две заглавные английские буквы p и q. Каждая из p и q является A, B, C, D, E, F или G, при этом p \neq q.
Найди расстояние между точками p и q.

Ввод

Ввод осуществляется посредством стандартного ввода в следующем формате:
p q

Вывод

Выведи расстояние между точками p и q.

Ограничения

- Каждая из p и q является A, B, C, D, E, F или G.
- p \neq q

Пример ввода 1

A C

Пример вывода 1

4

Расстояние между точками A и C составляет 3 + 1 = 4.

Пример ввода 2

G B

Пример вывода 2

20

Расстояние между точками G и B составляет 9 + 5 + 1 + 4 + 1 = 20.

Пример ввода 3

C F

Пример вывода 3

10


Есть сетка с H строками и W столбцами. Пусть (i, j) обозначает квадрат в i-й строке сверху и j-м столбце слева.
Изначально на каждом квадрате внутри прямоугольника, высота и ширина которого составляли не менее 2 квадратов, было одно печенье, а на других квадратах не было ни одного печенья.
Формально, была ровно одна четверка целых чисел (a, b, c, d), которая удовлетворяла всем следующим условиям.

- 1 \leq a \lt b \leq H
- 1 \leq c \lt d \leq W
- На каждом квадрате (i, j) было одно печенье, такое, что a \leq i \leq b, c \leq j \leq d, и ни одного печенья на других квадратах.

Однако Снук взял и съел одно из печений на сетке.
Квадрат, содержащий это печенье, теперь пуст.
В качестве входных данных вам дается состояние сетки после того, как Снук съел печенье.
Состояние квадрата (i, j) задается символом S_{i,j}, где # означает квадрат с печеньем, а . означает квадрат без него.
Найдите квадрат, содержащий печенье, съеденное Снуком. (Ответ определяется однозначно.)

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

Входные данные задаются из стандартного ввода в следующем формате:
H W
S_{1,1}S_{1,2}\dotsS_{1,W}
S_{2,1}S_{2,2}\dotsS_{2,W}
\vdots
S_{H,1}S_{H,2}\dotsS_{H,W}

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

Пусть (i, j) квадрат содержит печенье, съеденное Снуком. Выведите i и j в этом порядке, разделив пробелом.

Ограничения

- 2 \leq H, W \leq 500
- S_{i,j} равно # или ..

Пример ввода 1

5 6
......
..#.#.
..###.
..###.
......

Пример вывода 1

2 4

Изначально печенье находилось на квадратах внутри прямоугольника с (2, 3) в верхнем левом углу и (4, 5) в нижнем правом углу, и Снук съел печенье на (2, 4). Таким образом, вы должны вывести (2, 4).

Пример ввода 2

3 2
#.
##
##

Пример выходных данных 2

1 2

Изначально печенье было размещено на квадратах внутри прямоугольника с (1, 1) в верхнем левом углу и (3, 2) в нижнем правом углу, и Снук съел печенье в (1, 2).

Пример входных данных 3

6 6
..####
..##.#
..####
..####
..####
......

Пример выходных данных 3

2 5

Есть сетка с H строками и W столбцами. Пусть (i, j) обозначают квадрат в i-м ряду сверху и j-й столбец слева.
Первоначально на каждом квадрате внутри прямоугольника, высота и ширина которого составляли не менее 2 квадратов, было по одному печенью, а на остальных квадратах не было печенья.
Формально существовало ровно одно четверное целое число (a,b,c,d), которое удовлетворяло всем следующим условиям.

- 1 \leq a \lt b \leq H
- 1 \leq c \lt d \leq W
- На каждом квадрате (i, j) было по одному печенью, такому, что a \leq i \leq b, c \leq j \leq d, и на остальных клетках не было печенья.

Тем не менее, Снук взял и съел одно из печенья на сетке.
Квадрат, в котором было это печенье, теперь пуст.
В качестве входных данных вам предоставляется состояние сетки после того, как Снук съел печенье.
Состояние квадрата (i, j) задается в виде символа S_{i,j}, где # означает квадрат с печеньем, а . означает квадрат без него.
Найдите квадрат, в котором лежало печенье, съеденное Снуком. (Ответ однозначно определен.)

Ввод

Входные данные подаются из Стандартного ввода в следующем формате:
Ч В
S_{1,1}S_{1,2}\dotsS_{1,W}
S_{2,1}S_{2,2}\dotsS_{2,W}
\vdots
S_{H,1}S_{H,2}\dotsS_{H,W}

Выпуск

Пусть (i, j) квадрат содержит печенье, съеденное Снуком. Выведите i и j в указанном порядке, через пробел.

Ограничения целостности

- 2 \leq H, W \leq 500
- S_{i,j} - это # или ..

Пример входных данных 1

5 6
......
.. #.#.
.. ###.
.. ###.
......

Пример выходных данных 1

2 4

Первоначально печенье находилось на квадратах внутри прямоугольника с (2, 3) в верхнем левом углу и (4, 5) в нижнем правом углу, а Снюк ел печенье на (2, 4). Таким образом, вы должны напечатать (2, 4).

Пример входных данных 2

3 2
#.
##
##

Пример выходных данных 2

1 2

Первоначально печенье размещалось на квадратах внутри прямоугольника с (1, 1) в верхнем левом углу и (3, 2) в нижнем правом углу, а Снюк ел печенье в точке (1, 2).

Пример входных данных 3

6 6
.. ####
.. ##.#
.. ####
.. ####
.. ####
......

Пример выходных данных 3

2 5

Существует сетка с H строками и W столбцами. Обозначим через (i, j) квадрат в i-й строке сверху и j-м столбце слева.
Изначально на каждом квадрате внутри прямоугольника, высота и ширина которого составляли не менее 2 квадратов, находилось по одному печенью, а на остальных квадратах печенья не было.
Формально существовала ровно одна четвёрка целых чисел (a,b,c,d) удовлетворяющая всем следующим условиям.

- 1 \leq a \lt b \leq H
- 1 \leq c \lt d \leq W
- На каждом квадрате (i, j) лежит одно печенье, такое, что a \leq i \leq b, c \leq j \leq d, и ни одного печенья на других квадратах.

Однако Снук взял и съел одно печенье на решётке.
Квадрат, в котором находился этот файл cookie, теперь пуст.
В качестве входных данных вам предоставляется состояние сетки после того, как Снук съел печенье.
Состояние квадрата (i, j) задаётся как символ S_{i,j}, где # означает квадрат с печеньем, а . означает квадрат без единицы.
Найдите квадрат, в котором лежало печенье, съеденное Снуком. (Ответ определён однозначно.)

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
H W
S_{1,1}S_{1,2}\dotsS_{1,W}
S_{2,1}S_{2,2}\dotsS_{2,W}
\vdots
S_{H,1}S_{H,2}\dotsS_{H,W}

Вывод

Пусть (i, j) в квадрате находится печенье, съеденное Снуком. Выведите i и j в этом порядке, разделив их пробелом.

Ограничения

- 2 \leq H, W \leq 500
- S_{i,j} это # или ..

Пример ввода 1

5 6
......
..#.#.
..###.
..###.
......

Пример вывода 1

2 4

Первоначально печенье располагалось на квадратах внутри прямоугольника с (2, 3) в верхнем левом углу и (4, 5) в правом нижнем углу, и Снук съел печенье в (2, 4). Таким образом, вам следует вывести (2, 4).

Пример ввода 2

3 2
#.
##
##

Пример вывода 2

1 2

Первоначально печенье было размещено на квадратах внутри прямоугольника с (1, 1) в верхнем левом углу и (3, 2) в правом нижнем углу, и Снук съел печенье в точке (1, 2).

Пример ввода 3

6 6
..####
..##.#
..####
..####
..####
......

Пример вывода 3

2 5