Кафетерий AtCoder предлагает N основных блюд и M гарниров. Цена i-го основного блюда — A_i, а цена j-го гарнира — B_j.
Кафетерий рассматривает возможность введения нового меню комплексных обедов.
Комплексный обед состоит из одного основного блюда и одного гарнира. Пусть s будет суммой цен основного блюда и гарнира, тогда цена комплексного обеда равна \min(s,P).
Здесь P — константа, заданная во входных данных.
Существует NM способов выбрать основное блюдо и гарнир для комплексного обеда. Найди общую стоимость всех этих комплексных обедов.

Ввод

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

Вывод

Выведи ответ в виде целого числа.
При заданных ограничениях задачи можно доказать, что ответ укладывается в 64-битное знаковое целое число.

Ограничения

- 1\leq N,M \leq 2\times 10^5
- 1\leq A_i,B_j \leq 10^8
- 1\leq P \leq 2\times 10^8
- Все входные значения — целые числа.

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

2 2 7
3 5
6 1

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

24

- Если выбрать первое основное блюдо и первый гарнир, стоимость комплексного обеда составит \min(3+6,7)=7.
- Если выбрать первое основное блюдо и второй гарнир, стоимость комплексного обеда составит \min(3+1,7)=4.
- Если выбрать второе основное блюдо и первый гарнир, стоимость комплексного обеда составит \min(5+6,7)=7.
- Если выбрать второе основное блюдо и второй гарнир, стоимость комплексного обеда составит \min(5+1,7)=6.

Таким образом, ответ — 7+4+7+6=24.

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

1 3 2
1
1 1 1

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

6

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

7 12 25514963
2436426 24979445 61648772 23690081 33933447 76190629 62703497
11047202 71407775 28894325 31963982 22804784 50968417 30302156 82631932 61735902 80895728 23078537 7723857

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

2115597124

Кафетерий AtCoder предлагает N основных блюд и M гарниров. Цена i-го основного блюда — A_i, а цена j-го гарнира — B_j.
Кафетерий рассматривает возможность введения нового меню комплексного обеда.
Комплексный обед состоит из одного основного блюда и одного гарнира. Пусть s — сумма цен основного блюда и гарнира, тогда цена комплексного обеда равна \min(s,P).
Здесь P — константа, заданная во входных данных.
Существует NM способов выбрать основное блюдо и гарнир для комплексного обеда. Найдите общую цену всех этих комплексных обедов.

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

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

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

Выведите ответ в виде целого числа.
В рамках ограничений этой задачи можно доказать, что ответ укладывается в 64-битное знаковое целое число.

Ограничения

- 1\leq N,M \leq 2\times 10^5
- 1\leq A_i,B_j \leq 10^8
- 1\leq P \leq 2\times 10^8
- Все входные значения являются целыми числами.

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

2 2 7
3 5
6 1

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

24

- Если вы выбираете первое основное блюдо и первый гарнир, цена набора обеда составляет \min(3+6,7)=7.
- Если вы выбираете первое основное блюдо и второй гарнир, цена набора обеда составляет \min(3+1,7)=4.
- Если вы выбираете второе основное блюдо и первый гарнир, цена набора обеда составляет \min(5+6,7)=7.
- Если вы выберете второе основное блюдо и второе гарнир, то цена комплексного обеда составит \min(5+1,7)=6.

Таким образом, ответ будет 7+4+7+6=24.

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

1 3 2
1
1 1 1

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

6

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

7 12 25514963
2436426 24979445 61648772 23690081 33933447 76190629 62703497
11047202 71407775 28894325 31963982 22804784 50968417 30302156 82631932 61735902 80895728 23078537 7723857

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

2115597124

Кафетерий AtCoder предлагает N основных блюд и M гарниров. Цена i-го основного блюда — A_i, а цена j-го гарнира — B_j.
Кафетерий рассматривает возможность введения нового меню комплексного обеда.
Комплексный обед состоит из одного основного блюда и одного гарнира. Пусть s — сумма цен основного блюда и гарнира, тогда цена комплексного обеда равна \min(s,P).
Здесь P — константа, заданная во входных данных.
Существует NM способов выбрать основное блюдо и гарнир для комплексного обеда. Найдите общую цену всех этих комплексных обедов.

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

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

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

Выведите ответ в виде целого числа.
В рамках ограничений этой задачи можно доказать, что ответ укладывается в 64-битное знаковое целое число.

Ограничения

- 1\leq N,M \leq 2\times 10^5
- 1\leq A_i,B_j \leq 10^8
- 1\leq P \leq 2\times 10^8
- Все входные значения являются целыми числами.

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

2 2 7
3 5
6 1

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

24

- Если вы выбираете первое основное блюдо и первый гарнир, цена набора обеда составляет \min(3+6,7)=7.
- Если вы выбираете первое основное блюдо и второй гарнир, цена набора обеда составляет \min(3+1,7)=4.
- Если вы выбираете второе основное блюдо и первый гарнир, цена набора обеда составляет \min(5+6,7)=7.
- Если вы выберете второе основное блюдо и второе гарнир, то цена комплексного обеда составит \min(5+1,7)=6.

Таким образом, ответ будет 7+4+7+6=24.

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

1 3 2
1
1 1 1

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

6

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

7 12 25514963
2436426 24979445 61648772 23690081 33933447 76190629 62703497
11047202 71407775 28894325 31963982 22804784 50968417 30302156 82631932 61735902 80895728 23078537 7723857

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

2115597124


Дерево состоит из N вершин, пронумерованных от 1 до N.
Для каждой i\ (2 \leq i \leq N) существует ребро, соединяющее вершину i и вершину \lfloor \frac{i}{2} \rfloor.
Других рёбер в дереве нет.
В этом дереве найдите количество вершин, расстояние которых от вершины X равно K.
Здесь расстояние между двумя вершинами u и v определяется как количество рёбер в простом пути, соединяющем вершины u и v.
У вас есть T тестов для решения.

Ввод

Ввод даётся с помощью стандартного ввода в следующем формате, где \mathrm{test}_i представляет собой i-й тест:
T
\mathrm{test}_1
\mathrm{test}_2
\vdots
\mathrm{test}_T

Каждый тестовый случай представлен в следующем формате:
N X K

Вывод

Выведите T строк.
i-я строка (1 \leq i \leq T) должна содержать ответ на i-й тест в виде целого числа.

Ограничения

- 1\leq T \leq 10^5
- 1\leq N \leq 10^{18}
- 1\leq X \leq N
- 0\leq K \leq N-1
- Все входные значения — целые числа.

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

5
10 2 0
10 2 1
10 2 2
10 2 3
10 2 4

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

1
3
4
2
0

Дерево для N=10 показано на следующей схеме.

Здесь,

- Есть 1 вершина, 2, расстояние от которой до вершины 2 равно 0.
- Есть 3 вершины, 1,4,5, расстояние от которых до вершины 2 равно 1.
- Есть 4 вершины, 3,8,9,10, расстояние от которых до вершины 2 равно 2.
- Есть 2 вершины, 6,7, расстояние от которых до вершины 2 равно 3.
- Нет вершин, расстояние до которых от вершины 2 равно 4.

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

10
822981260158260522 52 20
760713016476190629 2314654 57
1312150450968417 1132551176249851 7
1000000000000000000 1083770654 79
234122432773361868 170290518806790 23
536187734191890310 61862 14
594688604155374934 53288633578 39
1000000000000000000 120160810 78
89013034180999835 14853481725739 94
463213054346948152 825589 73

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

1556480
140703128616960
8
17732923532771328
65536
24576
2147483640
33776997205278720
7881299347898368
27021597764222976

Есть дерево с N вершинами, пронумерованными от 1 до N.
Для каждого i\ (2 \leq i \leq N) есть ребро, соединяющее вершину i и вершину \lfloor \frac{i}{2} \rfloor.
Других ребер нет.
В этом дереве найдите количество вершин, расстояние которых от вершины X равно K.
Здесь расстояние между двумя вершинами u и v определяется как количество ребер в простом пути, соединяющем вершины u и v.
Вам нужно решить T тестовых случаев.

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

Входные данные даются из стандартного ввода в следующем формате, где \mathrm{test}_i представляет i-й тестовый случай:
T
\mathrm{test}_1
\mathrm{test}_2
\vdots
\mathrm{test}_T

Каждый тестовый случай дается в следующем формате:
N X K

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

Выведите T строк.
i-я строка (1 \leq i \leq T) должна содержать ответ на i-й тестовый случай в виде целого числа.

Ограничения

- 1\leq T \leq 10^5
- 1\leq N \leq 10^{18}
- 1\leq X \leq N
- 0\leq K \leq N-1
- Все входные значения являются целыми числами.

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

5
10 2 0
10 2 1
10 2 2
10 2 3
10 2 4

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

1
3
4
2
0

Дерево для N=10 показано на следующем рисунке.

Здесь,

- Есть 1 вершина, 2, расстояние от которой до вершины 2 равно 0.
- Есть 3 вершины, 1,4,5, расстояние от которых до вершины 2 равно 1.
- Есть 4 вершины, 3,8,9,10, расстояние от которых до вершины 2 равно 2.
- Есть 2 вершины, 6,7, расстояние от которых до вершины 2 равно 3.
- Нет вершин, расстояние от которых до вершины 2 равно 4.

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

10
822981260158260522 52 20
760713016476190629 2314654 57
1312150450968417 1132551176249851 7
100000000000000000000 1083770654 79
234122432773361868 170290518806790 23
536187734191890310 61862 14
594688604155374934 53288633578 39
10000000000000000000 120160810 78
89013034180999835 14853481725739 94
463213054346948152 825589 73

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

1556480
140703128616960
8
17732923532771328
65536
24576
2147483640
33776997205278720
7881299347898368
27021597764222976


Вам дана строка S длины N, состоящая из A, B, и C.
Найдите позицию, в которой ABC впервые появляется как (непрерывная) подстрока в S. Другими словами, найдите наименьшее целое число n, которое удовлетворяет всем следующим условиям.

- 1 \leq n \leq N - 2.
- Строка, полученная путём извлечения символов S с n-го по (n+2)-й, представляет собой ABC.

Если ABC не встречается в S, выведите -1.

Ввод

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

Вывод

Выведите позицию, где ABC впервые появляется как подстрока в S, или -1, если он не появляется в S.

Ограничения

- 3 \leq N \leq 100
- S это строка длины N, состоящая из A, B, и C.

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

8
ABABCABC

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

3

ABC впервые появляется в S с 3-го по 5-й знаки S. Поэтому ответ 3.

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

3
ACB

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

-1

Если ABC не встречается в S, выведите -1.

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

20
BBAAABBACAACABCBABAB

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

13

Вам дана строка S длины N, состоящая из A, B и C.
Найдите позицию, где ABC впервые появляется как (смежная) подстрока в S. Другими словами, найдите наименьшее целое число n, которое удовлетворяет всем следующим условиям.

- 1 \leq n \leq N - 2.
- Строка, полученная путем извлечения символов с n-го по (n+2)-й из S, — это ABC.

Если ABC не появляется в S, выведите -1.

Ввод

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

Вывод

Выведите позицию, где ABC впервые появляется как подстрока в S, или -1, если она не появляется в S.

Ограничения

- 3 \leq N \leq 100
- S — это строка длины N, состоящая из A, B и C.

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

8
ABABCABC

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

3

ABC впервые появляется в S с 3-го по 5-й символ S. Следовательно, ответ — 3.

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

3
ACB

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

-1

Если ABC не появляется в S, выведите -1.

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

20
BBAAABBACAACABCBABAB

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

13

Дана строка S длиной N, состоящая из A, B и C.
Найдите позицию, где ABC впервые появляется как (непрерывная) подстрока в S. Иными словами, найдите наименьшее целое число n, которое удовлетворяет всем следующим условиям.

- 1 \leq n \leq N - 2.
- Строка, полученная путем извлечения n-го по (n+2)-й символов из S, равна ABC.

Если ABC не появляется в S, выведите -1.

Ввод

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

Вывод

Выведите позицию, где ABC впервые появляется как подстрока в S, или -1, если она не появляется в S.

Ограничения

- 3 \leq N \leq 100
- S  — строка длиной N, состоящая из A, B и C.

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

8
ABABCABC

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

3

ABC впервые появляется в S на 3-й по 5-й символы строки. Поэтому ответ — 3.

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

3
ACB

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

-1

Если ABC не появляется в S, выведите -1.

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

20
BBAAABBACAACABCBABAB

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

13


Вам даны две строки S и T, состоящие из строчных английских букв. Длины S и T равны N и M соответственно. (Ограничения гарантируют, что N \leq M.)
S называется префиксом T, когда первые N символов T совпадают с S.
S называется суффиксом T, когда последние N символов T совпадают с S.
Если S является одновременно префиксом и суффиксом T, выведите 0;
Если S является префиксом T, но не суффиксом, выведите 1;
Если S является суффиксом T, но не префиксом, выведите 2;
Если S не является ни префиксом, ни суффиксом T, выведите 3.

Ввод

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

Вывод

Выведите ответ в соответствии с инструкциями в условии задачи.

Ограничения

- 1 \leq N \leq M \leq 100
- S — это строка длины N, состоящая из строчных английских букв.
- T — это строка длины M, состоящая из строчных английских букв.

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

3 7
abc
abcdefg

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

1

S является префиксом T, но не суффиксом, поэтому нужно вывести 1.

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

3 4
abc
aabc

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

2

S является суффиксом T, но не префиксом.

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

3 3
abc
xyz

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

3

S не является ни префиксом, ни суффиксом T.

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

3 3
aaa
aaa

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

0

S и T могут совпадать, в этом случае S является одновременно префиксом и суффиксом T.

Вам даны две строки S и T, состоящие из строчных английских букв. Длина S и T равна N и M соответственно. (Ограничения гарантируют, что N \leq M.)
S называется префиксом T, когда первые N символов T совпадают с S.
S называется суффиксом T, когда последние N символов T совпадают с S.
Если S является и префиксом, и суффиксом T, выведите 0;
Если S является префиксом T, но не суффиксом, выведите 1;
Если S является суффиксом T, но не префиксом, выведите 2;
Если S не является ни префиксом, ни суффиксом T, выведите 3.

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

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

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

Выведите ответ в соответствии с инструкциями в условии задачи.

Ограничения

- 1 \leq N \leq M \leq 100
- S — строка длины N, состоящая из строчных английских букв.
- T — строка длины M, состоящая из строчных английских букв.

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

3 7
abc
abcdefg

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

1

S — префикс T, но не суффикс, поэтому следует вывести 1.

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

3 4
abc
aabc

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

2

S — суффикс T, но не префикс.

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

3 3
abc
xyz

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

3

S не является ни префиксом, ни суффиксом T.

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

3 3
aaa
aaa

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

0

S и T могут совпадать, в этом случае S является как префиксом, так и суффиксом T.


Королевство AtCoder проводит фестиваль в течение N дней. В М этих дней, а именно на A_1-й, A_2-й, \dots, A_M-й числа, будет запущен фейерверк. Гарантируется, что фейерверк будет запущен в последний день фестиваля. (Другими словами, гарантируется A_M=N.)
Для каждого i=1,2,\dots,N решить следующую задачу.

- Через сколько дней с i-го дня будет запущен первый фейерверк в i-й день или после i-го дня? Если фейерверк запускается в i-й день, то считается, что он происходит через 0 дней.

Input

The input is given from Standard Input in the following format:
N M
A_1 A_2 \dots A_M

Output

Print N lines.
The i-th line (1 \le i \le N) should contain an integer representing the number of days from the i-th day until fireworks are launched for the first time on or after the i-th day.

Constraints

- 1 \le M \le N \le 2 \times 10^5
- 1 \le A_1 < A_2 < \dots < A_M = N
- All input values are integers.

Sample Input 1

3 2
2 3

Sample Output 1

1
0
0

Королевство проводит фестиваль в течение 3 дней, а фейерверки запускаются на 2-й и 3-й день.

- С 1-го дня первый раз запускают фейерверки во 2-й день фестиваля, который на 1 день позже.
- Со 2-го дня первый раз запускается фейерверк во 2-й день фестиваля, то есть на 0 дней позже.
- С 3-го дня первый раз запускается фейерверк на 3-й день фестиваля, то есть на 0 дней позже.

Sample Input 2

8 5
1 3 4 7 8

Sample Output 2

0
1
0
0
2
1
0
0

Королевство AtCoder проводит фестиваль в течение N дней. В M из этих дней, а именно в дни A_1, A_2, \dots, A_M, будут запущены фейерверки. Гарантируется, что фейерверки будут запущены в последний день фестиваля. (Другими словами, A_M=N гарантировано.)
Для каждого i=1,2,\dots,N решите следующую задачу.

- Через сколько дней после i-го дня будет запущен фейерверк в первый раз в или после i-го дня? Если фейерверк запущен в i-й день, то считается, что это произошло через 0 дней.

Ввод

Ввод дается из стандартного ввода в следующем формате:
N M
A_1 A_2 \dots A_M

Вывод

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

i-я строка (1 \le i \le N) должна содержать целое число, представляющее количество дней с i-го дня до первого запуска фейерверков в i-й день или после него.

Ограничения

- 1 \le M \le N \le 2 \times 10^5
- 1 \le A_1 < A_2 < \dots < A_M = N
- Все входные значения являются целыми числами.

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

3 2
2 3

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

1
0
0

Королевство проводит фестиваль в течение 3 дней, а фейерверки запускают на 2-й и 3-й дни.

- С 1-го дня первый запуск фейерверков происходит на 2-й день фестиваля, то есть на 1 день позже.
- С 2-го дня первый запуск фейерверков происходит на 2-й день фестиваля, то есть на 0 дней позже.
- С 3-го дня первый запуск фейерверков происходит на 3-й день фестиваля, то есть на 0 дней позже.

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

8 5
1 3 4 7 8

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

0
1
0
0
2
1
0
0

В Королевстве AtCoder проводится фестиваль на протяжении N дней. В M из этих дней, а именно в A_1-й, A_2-й, \dots, A_M-й дни, будут запускаться фейерверки. Гарантируется, что фейерверки будут запущены в последний день фестиваля. (Другими словами, гарантируется, что A_M=N.)
Для каждого i=1,2,\dots,N, решите следующую задачу.

- Через сколько дней, начиная с i-го дня, фейерверки будут запущены впервые в i-й день или после него? Если фейерверки запускаются в i-й день, считается, что пройдет 0 дней.

Ввод

Входные данные подаются в стандартный ввод в следующем формате:
N M
A_1 A_2 \dots A_M

Вывод

Выведите N строк.
i-я строка (1 \le i \le N) должна содержать целое число, представляющее количество дней от i-го дня до первого запуска фейерверков в i-й день или после него.

Ограничения

- 1 \le M \le N \le 2 \times 10^5
- 1 \le A_1 < A_2 < \dots < A_M = N
- Все входные значения являются целыми числами.

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

3 2
2 3

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

1
0
0

Королевство празднует фестиваль в течение 3 дней, и фейерверки запускаются во 2-й и 3-й дни.

- С 1-го дня, фейерверки впервые запускаются на 2-й день фестиваля, это через 1 день.
- Со 2-го дня, фейерверки впервые запускаются на 2-й день фестиваля, это через 0 дней.
- С 3-го дня, фейерверки впервые запускаются на 3-й день фестиваля, это через 0 дней.

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

8 5
1 3 4 7 8

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

0
1
0
0
2
1
0
0


Полиомино — это кусок головоломки в форме связанной многоугольной фигуры, составленной из нескольких квадратов, соединенных гранями.
Есть сетка размером четыре на четыре, и три полиомино, которые вписываются в сетку.
Форма i-го полиомино представлена 16 символами P_{i,j,k} (1 \leq j, k \leq 4). Они описывают состояние сетки, когда i-е полиомино помещается на нее. Если P_{i, j, k} — #, квадрат на j-й строке сверху и k-й столбце слева занят полиомино; если это ., квадрат не занят. (См. фигуры в Примере входных/выходных данных 1.)
Вы хотите заполнить сетку всеми тремя полиомино так, чтобы выполнялись все следующие условия.

- Все квадраты сетки покрыты полиомино.
- Полиомино не должны пересекаться.
- Полиомино не должны выходить за пределы сетки.
- Полиомино можно свободно перемещать и поворачивать, но нельзя переворачивать.

Можно ли заполнить сетку полиомино так, чтобы условия были выполнены?

Вход

Входные данные подаются со стандартного входа в следующем формате:
P_{1,1,1}P_{1,1,2}P_{1,1,3}P_{1,1,4}
P_{1,2,1}P_{1,2,2}P_{1,2,3}P_{1,2,4}
P_{1,3,1}P_{1,3,2}P_{1,3,3}P_{1,3,4}
P_{1,4,1}P_{1,4,2}P_{1,4,3}P_{1,4,4}
P_{2,1,1}P_{2,1,2}P_{2,1,3}P_{2,1,4}
P_{2,2,1}P_{2,2,2}P_{2,2,3}P_{2,2,4}
P_{2,3,1}P_{2,3,2}P_{2,3,3}P_{2,3,4}
P_{2,4,1}P_{2,4,2}P_{2,4,3}P_{2,4,4}
P_{3,1,1}P_{3,1,2}P_{3,1,3}P_{3,1,4}
P_{3,2,1}P_{3,2,2}P_{3,2,3}P_{3,2,4}
P_{3,3,1}P_{3,3,2}P_{3,3,3}P_{3,3,4}
P_{3,4,1}P_{3,4,2}P_{3,4,3}P_{3,4,4}

Выход

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

Ограничения

- P_{i, j, k} — # или ..
- Данные полиомино связаны. Другими словами, квадраты, составляющие полиомино, можно достигнуть друг от друга, следуя только вверх, вниз, влево и вправо.
- Данные полиомино не пусты.

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

....
###.
.#..
....
....
.###
.##.
....
..#.
.##.
.##.
.##.

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

Yes

На рисунке ниже показаны формы полиомино, соответствующие Примеру входных данных 1.

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

Следовательно, ответ — Yes.

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

###.
#.#.
##..
....
....
..#.
....
....
####
##..
#...
#...

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

Yes

Как и в первом полиомино в Примере входных данных 2, полиомино может иметь форму многоугольника с отверстием.

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

##..
#..#
####
....
....
##..
.##.
....
.#..
.#..
.#..
.#..

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

No

Учтите, что полиомино нельзя переворачивать при заполнении сетки.

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

....
..#.
....
....
....
..#.
....
....
....
..#.
....
....

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

No

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

....
####
#...
#...
....
####
...#
..##
....
..##
..#.
..##

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

No

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

###.
.##.
..#.
.###
....
...#
..##
...#
....
#...
#...
#...

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

Yes

Полимино — это элемент головоломки в форме связанного многоугольника, полученного путем соединения нескольких квадратов их ребрами.
Имеется сетка с четырьмя строками и четырьмя столбцами, а также три полимино, которые помещаются в сетку.
Форма i-го полимино представлена 16 символами P_{i,j,k} (1 \leq j, k \leq 4). Они описывают состояние сетки, когда на нее помещается i-й полимино. Если P_{i, j, k} равен #, квадрат в j-й строке сверху и k-м столбце слева занят полимино; если равен ., квадрат не занят. (См. рисунки в Примере ввода/вывода 1.)
Вы хотите заполнить сетку всеми тремя полимино так, чтобы были выполнены все следующие условия.

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

Можно ли заполнить сетку полимино, чтобы удовлетворить этим условиям?

Ввод

Вводные данные даются из Стандартного ввода в следующем формат:
P_{1,1,1}P_{1,1,2}P_{1,1,3}P_{1,1,4}
P_{1,2,1}P_{1,2,2}P_{1,2,3}P_{1,2,4}
P_{1,3,1}P_{1,3,2}P_{1,3,3}P_{1,3,4}
P_{1,4,1}P_{1,4,2}P_{1,4,3}P_{1,4,4}
P_{2,1,1}P_{2,1,2}P_{2,1,3}P_{2,1,4}
P_{2,2,1}P_{2,2,2}P_{2,2,3}P_{2,2,4}
P _{2,3,1}P_{2,3,2}P_{2,3,3}P_{2,3,4}
P_{2,4,1}P_{2,4,2}P_{2,4,3}P_{2,4,4}
P_{3,1,1}P_{3,1,2}P_{3,1,3}P_{3,1,4}
P_{3,2,1}P_{3,2,2}P_{3,2,3}P_{3,2,4}
P_{3,3,1}P_{3,3,2}P_{3,3,3}P_{3,3,4}
P_{3,4,1}P_{3,4,2}P_{3,4,3}P_{3,4,4}

Выход

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

Ограничения

- P_{i, j, k} равно # или ..
- Данные полимино связаны. Другими словами, квадраты, составляющие полимино, можно достичь друг от друга, следуя только по квадратам вверх, вниз, влево и вправо.
- Данные полимино не пустые.

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

....
###.
.#..
....
....
.###
.##.
....
..#.
.##.
.##.
.##.

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

Yes

На рисунке ниже показаны формы полимино, соответствующие Примеру ввода 1.

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

Таким образом, ответ — Yes.

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

###.
#.#.
##..
....
....
..#.
....
....
####
##..
#...

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

Yes

Как и в первом полимино в Примере ввода 2, полимино может иметь форму многоугольника с отверстием.

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

##..
#..#
####
....
....
##..
.##.
....
.#..
.#..
.#..
.#..

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

No

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

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

....
..#.
....
....
....
....
..#.
....
....
....
..#.

....
....
..#.
....
....

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

No

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

....
####
#...
#...
....
####
...#
..##
....
..##
..#.
..##

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

No

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

###.
.##.
..#.
.###
....
...#
..##
...#
....
#...
#...
#...

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

Yes

Полиомино — это кусок головоломки в форме связанной многоугольной фигуры, составленной из нескольких квадратов, соединенных гранями.
Есть сетка размером четыре на четыре, и три полиомино, которые вписываются в сетку.
Форма i-го полиомино представлена 16 символами P_{i,j,k} (1 \leq j, k \leq 4). Они описывают состояние сетки, когда i-е полиомино помещается на нее. Если P_{i, j, k} — #, квадрат на j-й строке сверху и k-й столбце слева занят полиомино; если это ., квадрат не занят. (См. фигуры в Примере входных/выходных данных 1.)
Вы хотите заполнить сетку всеми тремя полиомино так, чтобы выполнялись все следующие условия.

- Все квадраты сетки покрыты полиомино.
- Полиомино не должны пересекаться.
- Полиомино не должны выходить за пределы сетки.
- Полиомино можно свободно перемещать и поворачивать, но нельзя переворачивать.

Можно ли заполнить сетку полиомино так, чтобы условия были выполнены?

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

Входные данные подаются со стандартного входа в следующем формате:
P_{1,1,1}P_{1,1,2}P_{1,1,3}P_{1,1,4}
P_{1,2,1}P_{1,2,2}P_{1,2,3}P_{1,2,4}
P_{1,3,1}P_{1,3,2}P_{1,3,3}P_{1,3,4}
P_{1,4,1}P_{1,4,2}P_{1,4,3}P_{1,4,4}
P_{2,1,1}P_{2,1,2}P_{2,1,3}P_{2,1,4}
P_{2,2,1}P_{2,2,2}P_{2,2,3}P_{2,2,4}
P_{2,3,1}P_{2,3,2}P_{2,3,3}P_{2,3,4}
P_{2,4,1}P_{2,4,2}P_{2,4,3}P_{2,4,4}
P_{3,1,1}P_{3,1,2}P_{3,1,3}P_{3,1,4}
P_{3,2,1}P_{3,2,2}P_{3,2,3}P_{3,2,4}
P_{3,3,1}P_{3,3,2}P_{3,3,3}P_{3,3,4}
P_{3,4,1}P_{3,4,2}P_{3,4,3}P_{3,4,4}

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

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

Ограничения

- P_{i, j, k} is # or ..
- Данные полиомино связаны. Другими словами, квадраты, составляющие полиомино, можно достигнуть друг от друга, следуя только вверх, вниз, влево и вправо.
- Данные полиомино не пусты.

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

....
###.
.#..
....
....
.###
.##.
....
..#.
.##.
.##.
.##.

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

Yes

На рисунке ниже показаны формы полиомино, соответствующие Примеру входных данных 1.

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

Следовательно, ответ — Yes.

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

###.
#.#.
##..
....
....
..#.
....
....
####
##..
#...
#...

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

Yes

Как и в первом полиомино в Примере входных данных 2, полиомино может иметь форму многоугольника с отверстием.

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

##..
#..#
####
....
....
##..
.##.
....
.#..
.#..
.#..
.#..

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

No

Учтите, что полиомино нельзя переворачивать при заполнении сетки.

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

....
..#.
....
....
....
..#.
....
....
....
..#.
....
....

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

No

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

....
####
#...
#...
....
####
...#
..##
....
..##
..#.
..##

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

No

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

###.
.##.
..#.
.###
....
...#
..##
...#
....
#...
#...
#...

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

Yes


AtCoder Inc. планирует разработать продукт. У продукта есть K параметров, значения которых в настоящий момент равны нулю. Компания стремится повысить все значения параметров как минимум до P.
Существует N планов разработки. Выполнение i-го плана разработки (1 \le i \le N) увеличивает значение j-го параметра на A_{i,j} для каждого целого j, такого что 1 \le j \le K, за стоимость C_i.
План разработки нельзя выполнять более одного раза. Определите, может ли компания достичь своей цели, и если может, найдите минимальную общую стоимость, необходимую для достижения цели.

Ввод

Ввод поступает с стандартного ввода в следующем формате:
N K P
C_1 A_{1,1} A_{1,2} \dots A_{1,K}
C_2 A_{2,1} A_{2,2} \dots A_{2,K}
\dots
C_N A_{N,1} A_{N,2} \dots A_{N,K}

Вывод

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

Ограничения

- 1 \le N \le 100
- 1 \le K,P \le 5
- 0 \le A_{i,j} \le P(1 \le i \le N,1 \le j \le K)
- 1 \le C_i \le 10^9(1 \le i \le N)
- Все входные значения — целые числа.

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

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

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

9

Если выполнить первый, третий и четвертый планы разработки, каждый параметр будет равен 3+2+0=5,0+4+1=5,2+0+4=6, все из которых не менее 5, поэтому цель достигается. Общая стоимость в этом случае равна 5 + 3 + 1 = 9. Невозможно достичь цели при общей стоимости 8 или менее. Таким образом, ответ — 9.

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

7 3 5
85 1 0 1
37 1 1 0
38 2 0 0
45 0 2 2
67 1 1 0
12 2 2 0
94 2 2 1

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

-1

Вы не можете достичь цели, что бы вы ни делали. Поэтому выведите -1.

Atcoder Inc. планирует разработать продукт. Продукт имеет параметры K, значения которых в настоящее время равны нулю. Компания стремится повысить все значения параметров, по крайней мере, до P.
Есть N планов развития. Выполнение плана разработки i-th (1 \ le i \ le N) увеличивает значение параметра  j-th на A_ {i, j} для каждого целого числа j такого, что 1 \ le j \ le K, за счет C_i.
План развития не может быть выполнен более одного раза. Определите, может ли компания достичь своей цели, и, если она может, найти минимальную общую стоимость, необходимую для достижения цели.

Вход

Ввод приведен из стандартного ввода в следующем формате:
N K P
C_1 A_ {1,1} A_ {1,2} \ dots A_ {1, K}
C_2 A_ {2,1} A_ {2,2} \ dots A_ {2, K}
\ dots
C_N A_ {N, 1} A_ {N, 2} \ dots A_ {N,K}

Выход

Если Atcoder Inc. может достичь своей цели, распечатайте минимальную общую стоимость, необходимую для достижения цели; В противном случае, печать -1.

Ограничения

- 1 \le N \le 100
-1 \le K,P \le 5
-0 \le A_{i,j} \le P(1 \le i \le N,1 \le j \le K)
-1 \le C_i \le 10^9(1 \le i \le N)
- Все входные значения являются целыми числами.

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

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

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

9

Если вы выполните первый, третий и четвертый планы разработки, каждый параметр будет 3+2+0 = 5,0+4+1 = 5,2+0+4 = 6, все из которых не менее 5, поэтому Цель достигается. Общая стоимость в этом случае составляет 5 + 3 + 1 = 9.
Невозможно достичь цели при общей стоимости 8 или менее. Таким образом, ответ - 9.

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

7 3 5
85 1 0 1
37 1 1 0
38 2 0 0
45 0 2 2
67 1 1 0
12 2 2 0
94 2 2 1

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

-1

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

Компания AtCoder Inc. планирует разработать продукт. Продукт имеет K параметров, значения которых в настоящее время равны нулю. Компания стремится повысить значения всех параметров как минимум до P.
Имеется N планов разработки. Выполнение i-го плана разработки (1 \le i \le N) увеличивает значение j-го параметра на A_{i,j} для каждого целого числа j, такого что 1 \le j \le K, за счет C_i.
План разработки не может быть выполнен более одного раза. Определите, может ли компания достичь своей цели, и если может, найдите минимальную общую стоимость, необходимую для достижения цели.

Ввод

Вводные данные задаются из стандартного ввода в следующем формате:
N K P
C_1 A_{1,1} A_{1,2} \dots A_{1,K}
C_2 A_{2,1} A_{2,2} \dots A_{2,K}
\dots
C_N A_{N,1} A_{N,2} \dots A_{N,K}

Вывод

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

Ограничения

- 1 \le N \le 100
- 1 \le K,P \le 5
- 0 \le A_{i,j} \le P(1 \le i \le N,1 \le j \le K)
- 1 \le C_i \le 10^9(1 \le i \le N)
- Все входные значения являются целыми числами.

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

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

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

9

Если выполнить первый, третий и четвертый планы разработки, каждый параметр будет 3+2+0=5,0+4+1=5,2+0+4=6, все из которых не менее 5, поэтому цель достигнута. Общая стоимость в этом случае составляет 5 + 3 + 1 = 9.
Невозможно достичь цели при общей стоимости 8 или меньше. Таким образом, ответ 9.

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

7 3 5
85 1 0 1
37 1 1 0
38 2 0 0
45 0 2 2
67 1 1 0
12 2 2 0
94 2 2 1

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

-1

Вы не сможете достичь цели, что бы вы ни делали. Поэтому выведите -1.


Вам дана строка S длиной 16, состоящая из 0 и 1.
Если i-й символ S равен 0 для каждого четного числа i от 2 до 16, выведите Yes; в противном случае выведите No.

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

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

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

Если i-й символ S равен 0 для каждого четного числа i от 2 до 16, выведите Yes; в противном случае выведите No.

Ограничения

- S — это строка длиной 16, состоящая из 0 и 1.

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

1001000000001010

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

No

4-й символ S= 1001000000001010 — это 1, поэтому следует вывести No.

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

1010100000101000

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

Yes

Каждый четный символ в S= 1010100000101000 — это 0, поэтому следует вывести Yes.

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

1111111111111111

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

No

Каждый четный символ в S — это 1.
В частности, они не все равны 0, поэтому следует вывести No.

Дана строка S длиной 16, состоящая из 0 и 1.
Если i-й символ S равен 0 для каждого четного числа i от 2 до 16, напечатайте Yes; в противном случае напечатайте No.

Ввод

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

Вывод

Если i-й символ S равен 0 для каждого четного числа i от 2 до 16, напечатайте Yes; в противном случае напечатайте No.

Ограничения

- S — строка длиной 16, состоящая из 0 и 1.

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

1001000000001010

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

No

4-й символ S= 1001000000001010 равен 1, поэтому следует напечатать No.

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

1010100000101000

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

Yes

Каждый символ на четной позиции в S= 1010100000101000 равен 0, поэтому следует напечатать Yes.

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

1111111111111111

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

No

Каждый символ на четной позиции в S равен 1.
В частности, они не все равны 0, поэтому следует напечатать No.

Вам дана строка S длиной 16, состоящая из 0 и 1.
Если i-й символ S равен 0 для каждого четного числа i от 2 до 16, выведите Yes; в противном случае выведите No.

Вход

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

Выход

Если i-й символ S равен 0 для каждого четного числа i от 2 до 16, выведите Yes; в противном случае выведите No.

Ограничения

- S это строка длиной 16, состоящая из 0 и 1.

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

1001000000001010

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

No

4-й символ числа S= 1001000000001010 равен 1, поэтому следует вывести No.

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

1010100000101000

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

Yes

Каждый четный символ в S= 1010100000101000 равен 0, поэтому вам следует вывести Yes.

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

1111111111111111

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

No

Каждый четный символ в S равен 1.
В частности, не все они равны 0, поэтому вам следует вывести No.


Есть N игроков с номерами от 1 до N, которые сыграли в круговой турнир. В каждом матче этого турнира один игрок выигрывал, а другой проигрывал.
Результаты матчей представлены в виде N строк S_1,S_2,\ldots,S_N длины N каждая, в следующем формате:

-
Если i\neq j, j-й символ S_i — o или x. o означает, что игрок i выиграл у игрока j, а x означает, что игрок i проиграл игроку j.

-
Если i=j, j-й символ S_i равен -.

Игрок с большим количеством побед занимает более высокое место. Если у двух игроков одинаковое количество побед, то игрок с меньшим номером занимает более высокое место. Сообщите номера игроков N в порядке убывания их рангов.

Ввод

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

Вывод

Выведите номера N игроков в порядке убывания их рангов.

Ограничения

- 2\leq N\leq 100
- N — целое число.
- S_i — это строка длины N, состоящая из o, x и -.
- S_1,\ldots,S_N соответствуют формату, описанному в условии задачи.

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

3
-xx
o-x
oo-

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

3 2 1

У игрока 1 0 побед, у игрока 2 - 1 победа, а у игрока 3 - 2 победы. Таким образом, номера игроков в порядке убывания ранга — 3,2,1.

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

7
-oxoxox
x-xxxox
oo-xoox
xoo-ooo
ooxx-ox
xxxxx-x
oooxoo-

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

4 7 3 1 5 2 6

Оба игрока 4 и 7 имеют по 5 побед, но игрок 4 занимает более высокое место, так как его номер игрока меньше.

Есть N игроков с номерами от 1 до N, которые сыграли в круговом турнире. В каждом матче этого турнира один игрок выиграл, а другой проиграл.
Результаты матчей представлены в виде N строк S_1,S_2,\ldots,S_N длиной N каждая в следующем формате:

-
Если i\neq j, j-й символ S_i — o или x. o означает, что игрок i выиграл у игрока j, а x означает, что игрок i проиграл игроку j.

-
Если i=j, j-й символ S_i — -.

Игрок с большим количеством побед занимает более высокое место. Если у двух игроков одинаковое количество побед, то игрок с меньшим номером игрока занимает более высокое место. Укажите номера игроков N в порядке убывания ранга.

Ввод

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

Вывод

Выведите номера игроков N в порядке убывания ранга.

Ограничения

- 2\leq N\leq 100
- N — целое число.
- S_i — строка длины N, состоящая из o, x и -.
- S_1,\ldots,S_N соответствуют формату, описанному в условии задачи.

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

3
-xx
o-x
oo-

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

3 2 1

У игрока 1 0 побед, у игрока 2 1 победа, а у игрока 3 2 победы. Таким образом, номера игроков в порядке убывания ранга — 3,2,1.

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

7
-oxoxox
x-xxxox
oo-xoox
xoo-ooo
ooxx-ox
xxxxx-x
oooxoo-

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

4 7 3 1 5 2 6

У обоих игроков 4 и 7 по 5 побед, но у игрока 4 рейтинг выше, потому что его номер игрока меньше.

Есть N игроков, пронумерованных от 1 до N, которые сыграли турнир по круговой системе. На каждый матч в этом турнире один игрок победил, а другой проиграл.
Результаты матчей приведены как N строки S_1, S_2, \ ldots, ,S_N  длины n каждый, в следующем формате:

-
Если i ≠ j, j-й символ S_i — это o или x. o означает, что игрок i выиграл у игрока j, а x означает, что игрок i проиграл игроку j.

-
Если i = j, j-й символ S_i — это -.

Игрок с большим количеством побед занимает более высокое место. Если два игрока имеют одинаковое количество побед, Игрока с меньшим номером игрока занимает более высокое место. Выведите номера игроков в порядке убывания ранга.

Вход

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

Выход

Распечатайте номера игроков в порядке убывания ранга.

Ограничения

- 2 \leq N \leq 100
-N — целое число.
-S_i — строка длиной N, состоящая из o, x и -.
-S_1,\ldots,S_N соответствуют формату, описанному в условии задачи.

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

3
-xx
o-x
oo-

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

3 2 1

У игрока 1 есть 0 побед, у игрока 2 есть 1 победа, а у игрока 3 есть 2 победы. Таким образом, числа игроков в порядке убывания ранга составляют 3,2,1.

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

7
-oxoxox
x-xxxox
oo-xoox
xoo-ooo
ooxx-ox
xxxxx-x
oooxoo-

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

4 7 3 1 5 2 6

У обоих игроков 4 и 7 имеют 5 побед, но игрока 4 занимает более высокий уровень, потому что их номер игрока меньше.


Идет соревнование по программированию World Tour Finals, в котором участвуют N игроков, и прошла половина соревновательного времени.
В этом соревновании M задач, а балл  A_i задачи i кратен 100 в диапазоне от 500 до 2500 включительно.
Для каждого i = 1, \ldots, N, вам дана строка S_i указывающая, какие задачи игрок i уже решил.
S_i это строка длины M, состоящая из o и x, где j-й символ S_i это o, если игрок i уже решил задачу j, и x, если он ещё не решил её.
Здесь еще никто из игроков не решил всех задач.
Общий балл игрока i рассчитывается как сумма баллов за решённые им задачи плюс бонусный балл в размере i очков.
Для каждого i = 1, \ldots, N, ответьте на следующий вопрос.

- По крайней мере, сколько задач, которые игрок i ещё не решил, должен решить игрок i, чтобы превзойти текущие общие баллы всех остальных игроков?

Обратите внимание, что при условиях этого утверждения и ограничениях можно доказать, что игрок i может превзойти текущее общее количество очков всех других игроков, решив все задачи, поэтому ответ всегда определён.

Ввод

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

Вывод

Выведите N строк. В i-й строке должен быть указан ответ на вопрос для игрока i.

Ограничения

- 2\leq N\leq 100
- 1\leq M\leq 100
- 500\leq A_i\leq 2500
- A_i кратно 100.
- S_i это строка длины M, состоящая из o и x.
- S_i содержит хотя бы один x.
- Все числовые значения во входных данных являются целыми числами.

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

3 4
1000 500 700 2000
xxxo
ooxx
oxox

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

0
1
1

Суммарные очки игроков к середине соревновательного времени составляют 2001 очко для игрока 1, 1502 очка для игрока 2 и 1703 очка для игрока 3.
Игрок 1 уже опережает по сумме очков всех остальных игроков, не решив больше задач.
Игрок 2 может, например, решить задачу 4 и набрать в общей сложности 3502 очка, что превысит общее количество очков всех остальных игроков.
Игрок 3 также может, например, решить задачу 4 и набрать общий балл в 3703 очка, что превысит общее количество очков всех остальных игроков.

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

5 5
1000 1500 2000 2000 2500
xxxxx
oxxxx
xxxxx
oxxxx
oxxxx

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

1
1
1
1
0

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

7 8
500 500 500 500 500 500 500 500
xxxxxxxx
oxxxxxxx
ooxxxxxx
oooxxxxx
ooooxxxx
oooooxxx
ooooooxx

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

7
6
5
4
3
2
0

Начинается финал мирового тура по программированию, в котором участвуют N игроков, и уже прошла половина времени соревнования.
В этом соревновании M задач, и оценка A_i задачи i кратна 100 в диапазоне от 500 до 2500 включительно.
Для каждого i = 1, \ldots, N вам дана строка S_i, которая указывает, какие задачи игрок i уже решил.
S_i — это строка длиной M, состоящая из o и x, где j-й символ S_i — o, если игрок i уже решил задачу j, и x, если он еще не решил ее.
Здесь ни один из игроков еще не решил все задачи.
Общий балл игрока i рассчитывается как сумма баллов за решенные им задачи плюс бонусный балл в размере i очков.
Для каждого i = 1, \ldots, N ответьте на следующий вопрос.

- По крайней мере, сколько задач, которые игрок i еще не решил, должен решить игрок i, чтобы превзойти текущие общие баллы всех остальных игроков?

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

Ввод

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

Вывод

Выведите N строк. i-я строка должна содержать ответ на вопрос для игрока i.

Ограничения

- 2\leq N\leq 100
- 1\leq M\leq 100
- 500\leq A_i\leq 2500
- A_i кратно 100.
- S_i — это строка длины M, состоящая из o и x.
- S_i содержит хотя бы один x.
- Все числовые значения на входе являются целыми числами.

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

3 4
1000 500 700 2000
xxxo
ooxx
oxox

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

0
1
1

Общие баллы игроков на середине времени соревнования составляют 2001 очко для игрока 1, 1502 очка для игрока 2 и 1703 очка для игрока 3.
Игрок 1 уже опережает всех остальных игроков по общему баллу, не решая больше никаких задач.
Игрок 2 может, например, решить задачу 4 и получить общий балл 3502 очка, что превысит общий балл всех остальных игроков.
Игрок 3 также может, например, решить задачу 4 и получить общий балл 3703 очка, что превысит общий балл всех остальных игроков.

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

5 5
1000 1500 2000 2000 2500
xxxxx
oxxxx
xxxxx
oxxxx
oxxxx

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

1
1
1
1
0

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

7 8
500 500 500 500 500 500 500 500
xxxxxxxx
oxxxxxxx
ooxxxxxx
oooxxxxx
ooooxxxx
oooooxxx
ooooooxx

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

7
6
5
4
3
2
0

В самом разгаре соревнование по программированию World Tour Finals, в котором участвуют N игроков, и половина соревновательного времени уже прошла.
В этом соревновании есть M задач, и A_i оценки задачи i кратны 100 между 500 до 2500 включительно.
Для каждого i = 1, \ldots, N, вам дается строка S_i, которая указывает, какие задачи игрока i уже решены.
S_i — это строка длины M, состоящая из o и x, где j-й символ S_i — o, если игрок i уже решил задачу j, и x, если он еще не решил ее.
Здесь никто из игроков еще не решил все задачи.
Общее количество очков игрока i рассчитывается как сумма баллов за решенные им задачи, плюс бонусный счет в i очков.
Для каждого i = 1, \ldots, N ответьте на следующий вопрос.

-Сколько задач, по крайней мере, которые ещё не решены i, должны быть решены i, чтобы превзойти текущее общее количество очков всех остальных игроков?

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

Input

The input is given from Standard Input in the following format:
N M
A_1 A_2 \ldots A_M
S_1
S_2
\vdots
S_N

Output

Print N lines. The i-th line should contain the answer to the question for player i.

Constraints

- 2\leq N\leq 100
- 1\leq M\leq 100
- 500\leq A_i\leq 2500
- A_i is a multiple of 100.
- S_i is a string of length M consisting of o and x.
- S_i contains at least one x.
- All numeric values in the input are integers.

Sample Input 1

3 4
1000 500 700 2000
xxxo
ooxx
oxox

Sample Output 1

0
1
1

The players' total scores at the halfway point of the competition time are 2001 points for player 1, 1502 points for player 2, and 1703 points for player 3.
Player 1 is already ahead of all other players' total scores without solving any more problems.
Player 2 can, for example, solve problem 4 to have a total score of 3502 points, which would exceed all other players' total scores.
Player 3 can also, for example, solve problem 4 to have a total score of 3703 points, which would exceed all other players' total scores.

Sample Input 2

5 5
1000 1500 2000 2000 2500
xxxxx
oxxxx
xxxxx
oxxxx
oxxxx

Sample Output 2

1
1
1
1
0

Sample Input 3

7 8
500 500 500 500 500 500 500 500
xxxxxxxx
oxxxxxxx
ooxxxxxx
oooxxxxx
ooooxxxx
oooooxxx
ooooooxx

Sample Output 3

7
6
5
4
3
2
0


Изначально имеется N слизней разных размеров.
Для каждого 1\leq i\leq N, имеется C_i слизней размера S_i.
Такаси может выполнять синтез слизней любое количество раз (возможно, ноль) в любом порядке.
Синтез слизней выполняется следующим образом.

- Выбрать двух слизней одного размера. Пусть этот размер будет X, появляется новый слизень размера 2X. Тогда два исходных слизня исчезают.

Такаси хочет минимизировать количество слизней.
Какое минимальное количество слизней он может получить, следуя оптимальной последовательности синтезов?

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

Входные данные задаются через стандартный ввод в следующем формате:
N
S_1 C_1
S_2 C_2
\vdots
S_N C_N

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

Выведите минимально возможное число слизней после того, как Такаси выполнил синтез.

Ограничения

- 1\leq N\leq 10^5
- 1\leq S_i\leq 10^9
- 1\leq C_i\leq 10^9
- S_1,S_2,\ldots,S_N все различны.
- Все входные значения — целые числа.

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

3
3 3
5 1
6 1

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

3

Изначально имеется три слизня размера 3, один размера 5 и один размера 6.
Такаси может выполнять синтез дважды следующим образом:

- Сначала выберем двух слизней размера 3. Получится один слизень размера 3, один размера 5 и два размера 6.
- Затем выберем двух слизней размера 6. Получится один слизень размера 3, один размера 5 и один размера 12.

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

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

3
1 1
2 1
3 1

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

3

Он не может выполнить синтез.

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

1
1000000000 1000000000

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

13

Изначально есть N размеров слизней.
В частности, для каждого 1\leq i\leq N есть C_i слизней размера S_i.
Такахаши может повторить синтез слизней любое количество раз (возможно, ноль) в любом порядке.
Синтез слизней выполняется следующим образом.

- Выберите два слизня одинакового размера. Пусть этот размер будет X, и появится новый слизень размера 2X. Затем два исходных слизня исчезнут.

Такахаши хочет минимизировать количество слизней.
Какое минимальное количество слизней он может получить в результате оптимальной последовательности синтезов?

Ввод

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

Вывод

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

Ограничения

- 1\leq N\leq 10^5
- 1\leq S_i\leq 10^9
- 1\leq C_i\leq 10^9
- S_1,S_2,\ldots,S_N are all different.
- Все входные значения являются целыми числами.

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

3
3 3
5 1
6 1

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

3

Изначально есть три слайма размером 3, один размером 5 и один размером 6.
Такахаши может выполнить синтез дважды следующим образом:

- Сначала выполните синтез, выбрав два слайма размером 3. Будет один слайма размером 3, один размером 5 и два размером 6.
- Затем выполните синтез, выбрав два слайма размером 6. Будет один слайма размером 3, один размером 5 и один размером 12.

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

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

3
1 1
2 1
3 1

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

3

Он не может выполнить синтез.

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

1
1000000000 1000000000

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

13

Изначально имеется N размеров слизи.
В частности, на каждый 1\leq i\leq N, приходится C_i слизи размера S_i.
Такахаши может повторять синтез слизи любое количество раз (возможно, ноль) в любом порядке.
Синтез слизи осуществляется следующим образом.

- Выберите две слизи одинакового размера. Пусть этот размер будет X, и появится новая слизь размером 2X. Затем две оригинальные слизи исчезают.

Такахаши хочет свести к минимуму количество слизи.
Какое минимальное количество слизи он может получить в результате оптимальной последовательности синтезов?

Ввод

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

Вывод

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

Ограничения

- 1\leq N\leq 10^5
- 1\leq S_i\leq 10^9
- 1\leq C_i\leq 10^9
- S_1,S_2,\ldots,S_N все разные.
- Все входные значения являются целыми числами.

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

3
3 3
5 1
6 1

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

3

Изначально есть три слизи размера 3, одна размера 5 и одна размера 6.
Такахаши может выполнить синтез дважды следующим образом:

- Сначала выполните синтез, выбрав две слизи размера 3. Будет одна слизь размера 3, одна размера 5 и две размера 6.
- Далее выполните синтез, выбрав две слизи размера 6. Будет одна слизь размера 3, одна размера 5 и одна размера 12.

Как бы он ни повторял синтез из исходного состояния, он не может уменьшить количество слизи до 2 и менее, поэтому следует вывести 3.

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

3
1 1
2 1
3 1

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

3

Он не может выполнить синтез.

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

1
1000000000 1000000000

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

13


У Такахаши есть плейлист из N песен.
Песня i (1 \leq i \leq N) длится T_i секунд.
Такахаши начал случайное воспроизведение плейлиста в момент 0.
Случайное воспроизведение повторяет следующее: с равной вероятностью выберите одну песню из N песен и доиграйте её до конца.
Здесь песни воспроизводятся непрерывно: как только песня заканчивается, сразу же начинается следующая выбранная песня.
Одну и ту же песню можно выбирать последовательно.
Найдите вероятность того, что песня 1 будет воспроизводиться (X + 0.5) секунд после времени 0, по модулю 998244353.

Как напечатать вероятность по модулю 998244353
Можно доказать, что вероятность, которую можно найти в этой задаче, всегда является рациональным числом.
Кроме того, ограничения этой задачи гарантируют, что, когда искомая вероятность выражается в виде несократимой дроби \frac{y}{x}, x не делится на 998244353.
Тогда существует уникальное целое число z от 0 до 998244352 включительно, такое что xz \equiv y \pmod{998244353}. Сообщите об этом z.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
N X
T_1 T_2 \ldots T_N

Вывод

Выведите вероятность по модулю 998244353 того, что первая песня в плейлисте будет воспроизводиться (X+0.5) секунд после времени 0.

Ограничения

- 2 \leq N\leq 10^3
- 0 \leq X\leq 10^4
- 1 \leq T_i\leq 10^4
- Все входные значения являются целыми числами.

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

3 6
3 5 6

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

369720131

Песня 1 будет воспроизводиться через 6.5 секунд после времени 0, если песни воспроизводятся в одном из следующих порядков.

- Песня 1\к Песне 1\к Песне 1
- Песня 2 \к Песне 1
- Песня 3 \к Песне 1

Вероятность того, что произойдёт одно из этих событий, равна \frac{7}{27}.
У нас есть 369720131\times 27\equiv 7 \pmod{998244353}, поэтому вам следует вывести 369720131.

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

5 0
1 2 1 2 1

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

598946612

Через 0.5 секунды после времени 0 первая песня, которая будет воспроизведена, всё ещё играет, поэтому искомая вероятность равна \frac{1}{5}.
Обратите внимание, что разные песни могут иметь одинаковую длину.

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

5 10000
1 2 3 4 5

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

586965467

У Такэхаси есть плейлист с N песнями.
Песня i (1 \leq i \leq N) длится T_i секунд.
Такэхаси начал воспроизведение плейлиста в произвольном порядке с момента времени 0.
Случайное воспроизведение повторяет следующее: выбирается одна из N песен с равной вероятностью и воспроизводится до конца.
Здесь песни воспроизводятся непрерывно: как только одна песня заканчивается, сразу же начинается следующая выбранная песня.
Одна и та же песня может быть выбрана подряд.
Найдите вероятность того, что песня 1 воспроизводится через (X + 0.5) секунд после времени 0, по модулю 998244353.

Как напечатать вероятность по модулю 998244353
Можно доказать, что вероятность, которую нужно найти в этой задаче, всегда является рациональным числом.
Кроме того, ограничения этой задачи гарантируют, что когда найденная вероятность выражена в виде несократимой дроби \frac{y}{x}, x не делится на 998244353.
Тогда существует уникальное целое число z от 0 до 998244352 включительно, такое что xz \equiv y \pmod{998244353}. Сообщите это z.

Ввод

Ввод поступает из стандартного ввода в следующем формате:
N X
T_1 T_2 \ldots T_N

Вывод

Напечатайте вероятность по модулю 998244353 того, что первая песня в плейлисте воспроизводится через (X+0.5) секунд после времени 0.

Ограничения

- 2 \leq N\leq 10^3
- 0 \leq X\leq 10^4
- 1 \leq T_i\leq 10^4
- Все значения на входе — целые числа.

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

3 6
3 5 6

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

369720131

Песня 1 будет воспроизводиться через 6.5 секунд после времени 0, если песни проигрываются в одном из следующих порядков.

- Песня 1 \to Песня 1 \to Песня 1
- Песня 2 \to Песня 1
- Песня 3 \to Песня 1

Вероятность того, что произойдет одно из этих событий, составляет \frac{7}{27}.
Мы имеем 369720131\times 27\equiv 7 \pmod{998244353}, поэтому нужно напечатать 369720131.

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

5 0
1 2 1 2 1

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

598946612

Через 0.5 секунды после времени 0 первая воспроизводимая песня все еще воспроизводится, так что искомая вероятность составляет \frac{1}{5}.
Обратите внимание, что разные песни могут иметь одинаковую длину.

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

5 10000
1 2 3 4 5

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

586965467

У Такахаши есть плейлист с N песнями.
Песня i (1 \leq i \leq N) длится T_i секунд.
Такахаши начал случайное воспроизведение плейлиста в момент времени 0.
Случайное воспроизведение повторяет следующее: выбрать одну песню из N песен с равной вероятностью и воспроизвести ее до конца.
Здесь песни воспроизводятся непрерывно: как только песня заканчивается, следующая выбранная песня начинается немедленно.
Одну и ту же песню можно выбирать последовательно.
Найдите вероятность того, что песня 1 будет воспроизводиться (X + 0,5) секунд после момента времени 0, по модулю 998244353.

Как напечатать вероятность по модулю 998244353
Можно доказать, что вероятность, которую можно найти в этой задаче, всегда является рациональным числом.
Кроме того, ограничения этой задачи гарантируют, что когда вероятность быть найденным выражается как несократимая дробь \frac{y}{x}, x не делится на 998244353.
Тогда существует уникальное целое число z между 0 и 998244352 включительно, такое, что xz \equiv y \pmod{998244353}. Сообщите об этом z.

Ввод

Вводные данные задаются из стандартного ввода в следующем формате:
N X
T_1 T_2 \ldots T_N

Вывод

Выведите вероятность по модулю 998244353 того, что первая песня в плейлисте воспроизводится через (X+0,5) секунд после времени 0.

Ограничения

- 2 \leq N\leq 10^3
- 0 \leq X\leq 10^4
- 1 \leq T_i\leq 10^4
- Все входные значения являются целыми числами.

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

3 6
3 5 6

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

369720131

Песня 1 будет воспроизводиться через 6,5 секунд после времени 0, если песни воспроизводятся в одном из следующих порядков.

- Песня 1 \to Песня 1 \to Песня 1
- Песня 2 \to Песня 1
- Песня 3 \to Песня 1

Вероятность того, что произойдет одно из этих событий, равна \frac{7}{27}.
У нас есть 369720131\times 27\equiv 7 \pmod{998244353}, поэтому вы должны вывести 369720131.

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

5 0
1 2 1 2 1

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

598946612

Через 0,5 секунды после времени 0 первая воспроизводимая песня все еще играет, поэтому искомая вероятность равна \frac{1}{5}.
Обратите внимание, что разные песни могут иметь одинаковую длину.

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

5 10000
1 2 3 4 5

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

586965467


Вам даны N целых чисел A _ 1, A _ 2, \ldots, A _ N.
Если все значения равны, выведите Yes; в противном случае выведите No.

Ввод

Ввод поступает из стандартного ввода в следующем формате:
N
A _ 1 A _ 2 \ldots A _ N

Вывод

Выведите одну строку, содержащую Yes, если значения данных A _ 1, A _ 2, \ldots, A _ N все равны, и No в противном случае.

Ограничения

- 2 \leq N \leq 100
- 1 \leq A _ i \leq 100\ (1 \leq i \leq N)
- Все входные значения — целые числа.

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

3
3 2 4

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

No

У нас A _ 1\neq A _ 2, поэтому следует вывести No.

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

4
3 3 3 3

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

Yes

У нас A _ 1=A _ 2=A _ 3=A _ 4, поэтому следует вывести Yes.

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

10
73 8 55 26 97 48 37 47 35 55

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

No

Вам даны N целых чисел A _ 1,A _ 2,\ldots,A _ N.
Если все их значения равны, выведите Yes; в противном случае выведите No.

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

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

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

Выведите одну строку, содержащую Yes, если все значения заданных A _ 1,A _ 2,\ldots,A _ N равны, и No в противном случае.

Ограничения

- 2\leq N\leq100
- 1\leq A _ i\leq100\ (1\leq i\leq N)
- Все входные значения являются целыми числами.

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

3
3 2 4

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

No

У нас есть A _ 1\neq A _ 2, поэтому вы должны напечатать Нет.

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

4
3 3 3 3

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

Yes

У нас есть A _ 1=A _ 2=A _ 3=A _ 4, поэтому вы должны напечатать Да.

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

10
73 8 55 26 97 48 37 47 35 55

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

No


Вам дано положительное целое число N.
Если существуют такие целые числа x и y, что N=2^x3^y, выведите Yes; в противном случае выведите No.

Ввод

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

Вывод

Выведите одну строку, содержащую Yes, если существуют целые числа x и y, которые удовлетворяют условию, и No в противном случае.

Ограничения

- 1\leq N\leq10^{18}
- N — это целое число.

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

324

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

Yes

Для x=2, y=4, у нас 2^x3^y=2^23^4=4\times81=324, так что условие выполнено.
Следовательно, вы должны вывести Yes.

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

5

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

No

Нет таких целых чисел x и y, что 2^x3^y=5.
Таким образом, вы должны вывести No.

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

32

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

Yes

Для x=5, y=0, у нас 2^x3^y=32\times1=32, так что вы должны вывести Yes.

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

37748736

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

Yes

Вам дано положительное целое число N.
Если существуют целые числа x и y, такие что N=2^x3^y, выведите Yes; в противном случае выведите No.

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

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

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

Выведите одну строку, содержащую Yes, если существуют целые числа x и y, удовлетворяющие условию, и No в противном случае.

Ограничения

- 1\leq N\leq10^{18}
- N — целое число.

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

324

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

Yes

Для x=2,y=4 имеем 2^x3^y=2^23^4=4\times81=324, поэтому условие выполняется.
Таким образом, вам следует вывести Yes.

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

5

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

No

Нет целых чисел x и y, таких что 2^x3^y=5.
Таким образом, вы должны напечатать No.

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

32

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

Yes

Для x=5,y=0 имеем 2^x3^y=32\times1=32, поэтому вы должны напечатать Yes.

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

37748736

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

Yes

Дано положительное целое число N.
Если существуют целые числа x и y, где N=2^x3^y, выведи Yes; в противном случае выведи No.

Ввод

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

Вывод

Выведи одну строку, содержащую Yes, если существуют целые числа x и y, которые удовлетворяют условию, и No в противном случае.

Ограничения

- 1\leq N\leq10^{18}
- N — целое число.

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

324

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

Yes

Для x=2, y=4 имеем 2^x3^y=2^23^4=4\times81=324, так что условие выполнено.
Следовательно, необходимо вывести Yes.

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

5

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

No

Нет таких целых чисел x и y, где 2^x3^y=5.
Таким образом, необходимо вывести No.

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

32

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

Yes

Для x=5, y=0, имеем 2^x3^y=32\times1=32, поэтому необходимо вывести Yes.

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

37748736

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

Yes


Такахаши отправил Аоки строку T, состоящую из строчных английских букв. В результате Аоки получил строку T', состоящую из строчных английских букв.
T' могла быть изменена из T. В частности, известно, что выполняется ровно одно из следующих четырех условий.

- T' равно T.
- T' — это строка, полученная путем вставки одной строчной английской буквы в одну позицию (возможно, в начало и конец) в T.
- T' — это строка, полученная путем удаления одного символа из T.
- T' — это строка, полученная путем замены одного символа в T на другую строчную английскую букву.

Вам дана строка T', полученная Аоки, и N строк S_1, S_2, \ldots, S_N, состоящих из строчных английских букв. Найдите все строки среди S_1, S_2, \ldots, S_N, которые могли бы быть равны строке T, отправленной Такахаши.

Ввод

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

Вывод

Пусть (i_1, i_2, \ldots, i_K) будет последовательностью индексов всех строк среди S_1, S_2, \ldots, S_N, которые могут быть равны T, в порядке возрастания.
Выведите длину K этой последовательности и саму последовательность в следующем формате:
K
i_1 i_2 \ldots i_K

Ограничения

- N — целое число.
- 1 \leq N \leq 5 \times 10^5
- S_i и T' — строки длиной от 1 до 5 \times 10^5 включительно, состоящие из строчных английских букв.
- Общая длина S_1, S_2, \ldots, S_N не превышает 5 \times 10^5.

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

5 ababc
ababc
babc
abacbc
abdbc
abbac

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

4
1 2 3 4

Среди S_1, S_2, \ldots, S_5 строки, которые могут быть равны T, это S_1, S_2, S_3, S_4, как объяснено ниже.

- S_1 может быть равна T, потому что T' = ababc равно S_1 = ababc.
- S_2 может быть равна T, потому что T' = ababc получается путем вставки буквы a в начало S_2 = babc.
- S_3 может быть равен T, потому что T' = ababc получается путем удаления четвертого символа c из S_3 = abacbc.
- S_4 может быть равен T, потому что T' = ababc получается путем замены третьего символа d в S_4 = abdbc на b.
- S_5 не может быть равен T, потому что если мы возьмем S_5 = abbac в качестве T, то T' = ababc не будет удовлетворять ни одному из четырех условий в условии задачи.

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

1 aoki
takahashi

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

0

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

9 atcoder
atoder
atcode
athqcoder
atcoder
tacoder
jttcoder
atoder
atceoder
atcoer

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

6
1 2 4 7 8 9

Такахаcи отправил строку T, состоящую из строчных английских букв, Аоки. В результате Аоки получил строку T', состоящую из строчных английских букв.
Строка T' могла быть изменена от T. В частности, известно, что выполняется ровно одно из следующих четырех условий:

- T' равна T.
- T' — это строка, полученная путем вставки одной строчной английской буквы в какое-либо место (возможно, в начале или в конце) в T.
- T' — это строка, полученная путем удаления одного символа из T.
- T' — это строка, полученная путем замены одного символа в T на другую строчную английскую букву.

Вам дана строка T', полученная Аоки, и N строк S_1, S_2, \ldots, S_N, состоящих из строчных английских букв. Найдите все строки среди S_1, S_2, \ldots, S_N, которые могут равняться строке T, отправленной Такахаши.

Ввод

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

Вывод

Пусть (i_1, i_2, \ldots, i_K) — это последовательность индексов всех строк среди S_1, S_2, \ldots, S_N, которые могут равняться T, в порядке возрастания.
Выведите длину K этой последовательности и саму последовательность в следующем формате:
K
i_1 i_2 \ldots i_K

Ограничения

- N — это целое число.
- 1 \leq N \leq 5 \times 10^5
- S_i и T' — это строки длиной от 1 до 5 \times 10^5 включительно, состоящие из строчных английских букв.
- Общая длина S_1, S_2, \ldots, S_N — не более 5 \times 10^5.

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

5 ababc
ababc
babc
abacbc
abdbc
abbac

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

4
1 2 3 4

Среди S_1, S_2, \ldots, S_5, строки, которые могут равняться T, это S_1, S_2, S_3, S_4, как объяснено ниже.

- S_1 может равняться T, потому что T' = ababc равно S_1 = ababc.
- S_2 может равняться T, потому что T' = ababc получена путем вставки буквы a в начало S_2 = babc.
- S_3 может равняться T, потому что T' = ababc получена путем удаления четвертого символа c из S_3 = abacbc.
- S_4 может равняться T, потому что T' = ababc получена путем замены третьего символа d в S_4 = abdbc на b.
- S_5 не может равняться T, потому что если мы возьмем S_5 = abbac как T, то T' = ababc не удовлетворяет ни одному из четырех условий в постановке задачи.

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

1 aoki
takahashi

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

0

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

9 atcoder
atoder
atcode
athqcoder
atcoder
tacoder
jttcoder
atoder
atceoder
atcoer

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

6
1 2 4 7 8 9

Такахаши отправил Аоки строку T, состоящую из строчных английских букв. В результате Аоки получил строку T', состоящую из строчных английских букв.
Строка T' могла быть изменена от T. В частности известно, что было установлено одно из следующих четырех условий:

- Т 'равно Т.
- T '- это строка, полученная путем вставки одной строчной английской буквы в какое-либо место (возможно в начале или в конце) в T.
- T '- это строка, полученная путем удаления одного символа из T.
- T '- это строка, полученная путем изменения одного символа в T на другую строчную английскую букву.

Вы получите строку T ', полученную Аоки, и N строк S_1, S_2, \ ldots, S_N, состоящих из строчных английских букв. Найдите все строки в S_1, S_2, \ ldots, S_N, которые могут быть равны строке T, отправленной Такахаши.

Input

The input is given from Standard Input in the following format:
N T'
S_1
S_2
\vdots
S_N

Output

Let (i_1, i_2, \ldots, i_K) be the sequence of indices of all the strings among S_1, S_2, \ldots, S_N that could be equal to T, in ascending order.
Print the length K of this sequence, and the sequence itself, in the following format:
K
i_1 i_2 \ldots i_K

Constraints

- N is an integer.
- 1 \leq N \leq 5 \times 10^5
- S_i and T' are strings of length between 1 and 5 \times 10^5, inclusive, consisting of lowercase English letters.
- The total length of S_1, S_2, \ldots, S_N is at most 5 \times 10^5.

Sample Input 1

5 ababc
ababc
babc
abacbc
abdbc
abbac

Sample Output 1

4
1 2 3 4

Among S_1, S_2, \ldots, S_5, the strings that could be equal to T are S_1, S_2, S_3, S_4, as explained below.

- S_1 could be equal to T, because T' =  ababc is equal to S_1 =  ababc.
- S_2 could be equal to T, because T' =  ababc is obtained by inserting the letter a at the beginning of S_2 =  babc.
- S_3 could be equal to T, because T' =  ababc is obtained by deleting the fourth character c from S_3 =  abacbc.
- S_4 could be equal to T, because T' =  ababc is obtained by changing the third character d in S_4 =  abdbc to b.
- S_5 could not be equal to T, because if we take S_5 =  abbac as T, then T' =  ababc does not satisfy any of the four conditions in the problem statement.

Sample Input 2

1 aoki
takahashi

Sample Output 2

0

Sample Input 3

9 atcoder
atoder
atcode
athqcoder
atcoder
tacoder
jttcoder
atoder
atceoder
atcoer

Sample Output 3

6
1 2 4 7 8 9


Дана строка S длины N, состоящая из цифр.
Найдите количество квадратных чисел, которые можно получить, интерпретируя перестановку S как десятичное целое число.
Более формально, решите следующее.
Пусть s _ i — это число, соответствующее i-й цифре (1\leq i\leq N) с начала S.
Найдите количество квадратных чисел, которые можно представить как \displaystyle \sum _ {i=1} ^ N s _ {p _ i}10 ^ {N-i} с перестановкой P=(p _ 1,p _ 2,\ldots,p _ N) из (1, \dots, N).

Ввод

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

Вывод

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

Ограничения

- 1\leq N\leq 13
- S — это строка длины N, состоящая из цифр.
- N — это целое число.

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

4
4320

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

2

Для P=(4,2,3,1) имеем s _ 4\times10 ^ 3+s _ 2\times10 ^ 2+s _ 3\times10 ^ 1+s _ 1=324=18 ^ 2.
Для P=(3,2,4,1) имеем s _ 3\times10 ^ 3+s _ 2\times10 ^ 2+s _ 4\times10 ^ 1+s _ 1=2304=48 ^ 2.
Никакие другие перестановки не приводят к квадратным числам, поэтому вы должны напечатать 2.

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

3
010

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

2

Для P=(1,3,2) или P=(3,1,2) имеем \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=1=1 ^ 2.
Для P=(2,1,3) или P=(2,3,1) имеем \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=100=10 ^ 2.
Никакие другие перестановки не приводят к квадратным числам, поэтому вы должны напечатать 2.
Обратите внимание, что разные перестановки не различаются, если они приводят к одному и тому же числу.

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

13
8694027811503

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

840

Вам дана строка S длины N, состоящая из цифр.
Найдите количество квадратных чисел, которые можно получить, интерпретируя перестановку S как десятичное целое число.
Более формально решим следующее.
Пусть s _ i это число, соответствующее i-й цифре (1\leq i\leq N) от начала S.
Найдите количество квадратных чисел, которые можно представить в виде \displaystyle \sum _ {i=1} ^ N s _ {p _ i}10 ^ {N-i} с помощью перестановки P=(p _ 1,p _ 2,\ldots,p _ N) из (1, \dots, N).

Ввод

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

Вывод

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

Ограничения

- 1\leq N\leq 13
- S это строка длины N, состоящая из цифр.
- N это целое число.

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

4
4320

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

2

Для P=(4,2,3,1), имеем s _ 4\times10 ^ 3+s _ 2\times10 ^ 2+s _ 3\times10 ^ 1+s _ 1=324=18 ^ 2.
Для P=(3,2,4,1), имеем s _ 3\times10 ^ 3+s _ 2\times10 ^ 2+s _ 4\times10 ^ 1+s _ 1=2304=48 ^ 2.
Никакие другие перестановки не приводят к получению квадратных чисел, поэтому вам следует вывести 2.

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

3
010

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

2

Для P=(1,3,2) или P=(3,1,2), имеем \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=1=1 ^ 2.
Для P=(2,1,3) или P=(2,3,1), имеем  \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=100=10 ^ 2.
Никакие другие перестановки не приводят к получению квадратных чисел, поэтому вам следует вывести 2.
Обратите внимание, что разные перестановки не различаются, если они приводят к одному и тому же числу.

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

13
8694027811503

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

840

Вам дана строка S длиной N, состоящая из цифр.
Найдите количество квадратных чисел, которые можно получить, интерпретируя перестановку S как десятичное целое число.
Более формально, решите следующее.
Пусть s _ i будет числом, соответствующим i-й цифре (1\leq i\leq N) от начала S.
Найдите количество квадратных чисел, которые можно представить как \displaystyle \sum _ {i=1} ^ N s _ {p _ i}10 ^ {N-i} с перестановкой P=(p _ 1,p _ 2,\ldots,p _ N) из (1, \dots, N).

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

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

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

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

Ограничения

- 1\leq N\leq 13
- S — строка длины N, состоящая из цифр.
- N — целое число.

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

4
4320

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

2

Для P=(4,2,3,1) имеем s _ 4\times10 ^ 3+s _ 2\times10 ^ 2+s _ 3\times10 ^ 1+s _ 1=324=18 ^ 2.
Для P=(3,2,4,1) имеем s _ 3\times10 ^ 3+s _ 2\times10 ^ 2+s _ 4\times10 ^ 1+s _ 1=2304=48 ^ 2.
Никакие другие перестановки не приводят к квадратным числам, поэтому следует вывести 2.

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

3
010

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

2

Для P=(1,3,2) или P=(3,1,2), имеем \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=1=1 ^ 2.
Для P=(2,1,3) или P=(2,3,1), имеем \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=100=10 ^ 2.
Никакие другие перестановки не приводят к квадратным числам, поэтому следует вывести 2.
Обратите внимание, что разные перестановки не различаются, если они приводят к одному и тому же числу.

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

13
8694027811503

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

840


Вам даны N строк S_1, S_2, \ldots, S_N, состоящие из строчных английских букв, и строка T, состоящая из строчных английских букв.
Имеется N^2 пар (i, j) целых чисел от 1 до N включительно. Выведите количество пар среди них, которые удовлетворяют следующему условию.

- Конкатенация S_i и S_j в этом порядке содержит T как (не обязательно непрерывную) подпоследовательность.

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

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

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

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

Ограничения

- N — целое число.
- 1 \leq N \leq 5 \times 10^5
- S_i и T — строки длиной от 1 до 5 \times 10^5 включительно, состоящие из строчных английских букв.
- Общая длина S_1, S_2, \ldots, S_N не превышает 5 \times 10^5.

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

3 bac
abba
bcb
aaca

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

3

Пары (i, j), которые удовлетворяют условию в условии задачи, это (1, 2), (1, 3), (2, 3), как показано ниже.

- Для (i, j) = (1, 2) конкатенация abbabcb S_1 и S_2 в этом порядке содержит bac как подпоследовательность.
- Для (i, j) = (1, 3) конкатенация abbaaaca S_1 и S_3 в этом порядке содержит bac как подпоследовательность.
- Для (i, j) = (2, 3) конкатенация bcbaaca S_2 и S_3 в этом порядке содержит bac как подпоследовательность.

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

5 xx
x
x
x
x
x

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

25

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

1 y
x

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

0

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

10 мс
mkgn
m
hlms
vmsle
mxsm
nnzdhi
umsavxlb
ffnsybomr
yvmm
naouel

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

68

Вам даны N строк S_1, S_2, \ldots, S_N, состоящих из строчных английских букв, и строка T, состоящая из строчных английских букв.
Существует N^2 пары (i, j) целых чисел от 1 до N включительно. Выведите количество пар среди них, удовлетворяющих следующему условию.

- Объединение S_i и S_j в этом порядке содержит T как подпоследовательность (не обязательно непрерывную).

Ввод

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

Вывод

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

Ограничения

- N это целое число.
- 1 \leq N \leq 5 \times 10^5
- S_i и T это строки длиной от 1 до 5 \times 10^5 включительно, состоящие из строчных английских букв.
- Общая длина  S_1, S_2, \ldots, S_N не превышает 5 \times 10^5.

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

3 bac
abba
bcb
aaca

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

3

Пары (i, j), удовлетворяющие условию в постановке задачи, это (1, 2), (1, 3), (2, 3), как показано ниже.

- Для (i, j) = (1, 2), конкатенация abbabcb of S_1 и S_2 в этом порядке содержит bac как подпоследовательность.
- Для (i, j) = (1, 3), конкатенация abbaaaca of S_1 и S_3 в этом порядке содержит bac как подпоследовательность.
- Для (i, j) = (2, 3), конкатенация bcbaaca of S_2 и S_3 в этом порядке содержит bac как подпоследовательность.

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

5 xx
x
x
x
x
x

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

25

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

1 y
x

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

0

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

10 ms
mkgn
m
hlms
vmsle
mxsm
nnzdhi
umsavxlb
ffnsybomr
yvmm
naouel

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

68

Вам даны \(N\) строк \(S_1, S_2, \ldots, S_N\), состоящих из строчных английских букв, и строка \(T\), состоящая из строчных английских букв. Существует \(N^2\) пар \((i, j)\) целых чисел от 1 до \(N\) включительно. Выведите количество пар, среди которых выполняется следующее условие.

- Конкатенация \(S_i\) и \(S_j\) в этом порядке содержит \(T\) как (не обязательно непрерывную) подпоследовательность.

Вход

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

Выход

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

Ограничения

- \(N\) — это целое число.
- \(1 \leq N \leq 5 \times 10^5\)
- \(S_i\) и \(T\) — строки длиной от 1 до \(5 \times 10^5\) включительно, состоящие из строчных английских букв.
- Общая длина \(S_1, S_2, \ldots, S_N\) не превышает \(5 \times 10^5\).

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

3 bac
abba
bcb
aaca

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

3

Пары \((i, j)\), которые удовлетворяют условие, указанные в условии задачи: \( (1, 2), (1, 3), (2, 3)\), как показано ниже.

- Для \((i, j) = (1, 2)\), конкатенация abba и bcb в этом порядке содержит bac как подпоследовательность.
- Для \((i, j) = (1, 3)\), конкатенация abba и aaca в этом порядке содержит bac как подпоследовательность.
- Для \((i, j) = (2, 3)\), конкатенация bcb и aaca в этом порядке содержит bac как подпоследовательность.

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

5 xx
x
x
x
x
x

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

25

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

1 y
x

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

0

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

10 ms
mkgn
m
hlms
vmsle
mxsm
nnzdhi
umsavxlb
ffnsybomr
yvmm
naouel

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

68


Дан ориентированный граф с N вершинами и M рёбрами. У каждого ребра два положительных целых значения: красота и стоимость.
Для i = 1, 2, \ldots, M, i-е ребро направлено от вершины u_i к вершине v_i, красота b_i и стоимость c_i.
Здесь ограничения гарантируют, что u_i \lt v_i.
Найди максимальное значение для пути P от вершины 1 до вершины N.

- Общая красота всех рёбер на P, делённая на общую стоимость всех рёбер на P.

Здесь ограничения гарантируют, что в данном графе существует по крайней мере один путь от вершины 1 до вершины N.

Ввод

Ввод осуществляется посредством стандартного ввода в следующем формате:
N M
u_1 v_1 b_1 c_1
u_2 v_2 b_2 c_2
\vdots
u_M v_M b_M c_M

Вывод

Выведи ответ. Ответ будет считаться правильным, если относительная или абсолютная ошибка от истинного ответа не превышает 10^{-9}.

Ограничения

- 2 \leq N \leq 2 \times 10^5
- 1 \leq M \leq 2 \times 10^5
- 1 \leq u_i \lt v_i \leq N
- 1 \leq b_i, c_i \leq 10^4
- Существует путь из вершины 1 к вершине N.
- Все входные значения — целые числа.

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

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

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

0.7500000000000000

Для пути P, который проходит через 2-е, 6-е и 7-е рёбра в этом порядке через вершины 1 \rightarrow 3 \rightarrow 4 \rightarrow 5, общая красота всех рёбер на P, делённая на общую стоимость всех рёбер на P,
равна
(b_2 + b_6 + b_7) / (c_2 + c_6 + c_7) = (9 + 4 + 2) / (5 + 8 + 7) = 15 / 20 = 0.75. Это максимальное возможное значение.

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

3 3
1 3 1 1
1 3 2 1
1 3 3 1

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

3.0000000000000000

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

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

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

1.8333333333333333

Имеется ориентированный граф с N вершинами и М ребрами. Каждое ребро имеет два положительных целочисленных значения: красота и стоимость.
Для i = 1, 2, \ldots, M, i-е ребро направлено от вершины u_i к вершине v_i с красотой b_i и стоимостью c_i.
Здесь ограничения гарантируют, что u_i \lt v_i.
Найдите максимальное значение следующего для пути P от вершины 1 до вершины N.

- Общая красота всех рёбер на P, делённая на общую стоимость всех рёбер на P.

Здесь ограничения гарантируют, что данный график имеет хотя бы один путь от вершины 1 до вершины N.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
N M
u_1 v_1 b_1 c_1
u_2 v_2 b_2 c_2
\vdots
u_M v_M b_M c_M

Вывод

Выведите ответ. Ваш вывод будет считаться правильным, если относительная или абсолютная ошибка истинного ответа не превышает 10^{-9}.

Ограничения

- 2 \leq N \leq 2 \times 10^5
- 1 \leq M \leq 2 \times 10^5
- 1 \leq u_i \lt v_i \leq N
- 1 \leq b_i, c_i \leq 10^4
- Существует путь от вершины 1 до вершины N.
- Все входные значения являются целыми числами.

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

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

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

0.7500000000000000

Для пути P, проходящего через 2-е, 6-е, и 7-е рёбра в этом порядке и посещающего вершины 1 \rightarrow 3 \rightarrow 4 \rightarrow 5, суммарная красота всех рёбер на P, делённая на сумму стоимость всех рёбер на P
является
(b_2 + b_6 + b_7) / (c_2 + c_6 + c_7) = (9 + 4 + 2) / (5 + 8 + 7) = 15 / 20 = 0.75, и это максимально возможное значение.

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

3 3
1 3 1 1
1 3 2 1
1 3 3 1

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

3.0000000000000000

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

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

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

1.8333333333333333

Имеется направленный граф с N вершинами и M ребрами. Каждое ребро имеет два положительных целых значения: красоту и стоимость.
Для i = 1, 2, \ldots, M i-е ребро направлено из вершины u_i в вершину v_i с красотой b_i и стоимостью c_i.
Здесь ограничения гарантируют, что u_i \lt v_i.
Найдите максимальное значение следующего для пути P из вершины 1 в вершину N.

- Общая красота всех ребер на P, деленная на общую стоимость всех ребер на P.

Здесь ограничения гарантируют, что заданный граф имеет по крайней мере один путь из вершины 1 в вершину N.

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

Входные данные даются из стандартного ввода в следующем формате:
N M
u_1 v_1 b_1 c_1
u_2 v_2 b_2 c_2
\vdots
u_M v_M b_M c_M

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

Выведите ответ. Ваш вывод будет оценен как правильный, если относительная или абсолютная ошибка от истинного ответа не превышает 10^{-9}.

Ограничения

- 2 \leq N \leq 2 \times 10^5
- 1 \leq M \leq 2 \times 10^5
- 1 \leq u_i \lt v_i \leq N
- 1 \leq b_i, c_i \leq 10^4
- Существует путь из вершины 1 в вершину N.
- Все входные значения являются целыми числами.

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

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

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

0,75000000000000000

Для пути P, проходящего через 2-е, 6-е и 7-е ребра в этом порядке и посещающего вершины 1 \rightarrow 3 \rightarrow 4 \rightarrow 5, общая красота всех ребер на P, деленная на общую стоимость всех ребер на P,
равна
(b_2 + b_6 + b_7) / (c_2 + c_6 + c_7) = (9 + 4 + 2) / (5 + 8 + 7) = 15 / 20 = 0,75, и это максимально возможное значение.

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

3 3
1 3 1 1
1 3 2 1
1 3 3 1

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

3.00000000000000000

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

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

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

1.8333333333333333


В компании Keyence принято обращаться ко всем с почтительным "сан", независимо от их должности, возраста или положения. Даже новый сотрудник будет называть президента "Наката-сан".

Вам даны фамилия и имя человека в виде строк S и T, соответственно. Выведите конкатенацию фамилии, пробела ( ), и почтительного обращения (сан) в этом порядке.

Ввод

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

Вывод

Выведите конкатенацию фамилии, пробела ( ), и почтительного обращения (сан) в этом порядке.

Ограничения

- Каждая из S и T — это строка, удовлетворяющая следующим условиям.
- Длина от 1 до 10 включительно.
- Первый символ — заглавная английская буква.
- Все символы, кроме первого, — строчные английские буквы.

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

Takahashi Chokudai

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

Takahashi san

Выведите конкатенацию фамилии (Takahashi), пробела ( ), и почтительного обращения (сан) в этом порядке.

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

K Eyence

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

K san

В компании Keyence принято обращаться ко всем сотрудникам с почтительным "сан", независимо от их должности, возраста или положения. Даже новый сотрудник будет называть президента "Наката-сан". [Примечание переводчика: в Японии это довольно необычно].

Даны фамилия и имя человека в виде строк S и T, соответственно. Выведи комбинацию фамилии, пробела ( ) и почтительного обращения (сан) в указанном порядке.

Ввод

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

Вывод

Выведи комбинацию фамилии, пробела ( ) и почтительного обращения (сан) в указанном порядке.

Ограничения

- Каждая S и T — это строка, удовлетворяющая следующим условиям.
- Длина составляет от 1 до 10 включительно.
- Первый символ — заглавная английская буква.
- Все символы, кроме первого, — строчные английские буквы.

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

Takahashi Chokudai

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

Takahashi san

Выведи комбинацию фамилии (Takahashi), пробела ( ) и почтительного обращения (сан) в указанном порядке.

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

K Eyence

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

K san


Keyence имеет N баз по всему миру, пронумерованных от 1 до N.
На базе i работает W_i сотрудников, и в 0 часов по всемирному координированному времени (UTC) на базе i X_i часов.
Вы хотите провести одинчасовое собрание для всей компании.
Каждый сотрудник может участвовать в собрании только в том случае, если время проведения собрания полностью попадает в промежуток с 9:00 до 18:00 на его базе. Найдите максимальное количество сотрудников, которые могут участвовать в собрании, выбрав такое время, чтобы максимизировать количество участников.

Ввод

Данные вводятся со стандартного ввода в следующем формате:
N
W_1 X_1
W_2 X_2
\vdots
W_N X_N

Вывод

Выведите максимальное количество сотрудников, которые могут участвовать в собрании.

Ограничения

- 1\leq N \leq 1000
- 1\leq W_i \leq 10^6
- 0\leq X_i < 24
- Все входные значения — целые числа.

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

3
5 0
3 3
2 18

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

8

Рассмотрите проведение собрания с 14:00 до 15:00 по UTC.

- Собрание проходит с 14:00 до 15:00 на базе 1, так что 5 сотрудников на базе 1 могут участвовать.
- Собрание проходит с 17:00 до 18:00 на базе 2, так что 3 сотрудника на базе 2 могут участвовать.
- Собрание проходит с 8:00 до 9:00 на базе 3, так что 2 сотрудника на базе 3 не могут участвовать.

Таким образом, в собрании могут участвовать 5+3=8 сотрудников.
Никакое другое время не позволяет большему количеству сотрудников участвовать.

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

2
1 10
1000000 20

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

1000000

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

6
31 3
20 8
11 5
4 3
47 14
1 18

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

67

Keyence имеет N баз по всему миру, пронумерованных от 1 до N.
На базе i работает W_i сотрудников, и в 0 часов по всемирному координированному времени (UTC) на базе i будет X_i часов.
Вы хотите провести часовое совещание по всей компании.
Каждый сотрудник может участвовать в совещании, только если время совещания полностью попадает в интервал времени с 9:00 до 18:00 на его базе. Найдите максимальное количество сотрудников, которые могут участвовать, при определении времени совещания, чтобы позволить принять участие как можно большему числу сотрудников.

Ввод

Ввод дается из стандартного ввода в следующем формате:
N
W_1 X_1
W_2 X_2
\vdots
W_N X_N

Вывод

Выведите максимальное количество сотрудников, которые могут участвовать в совещании.

Ограничения

- 1\leq N \leq 1000
- 1\leq W_i \leq 10^6
- 0\leq X_i < 24
- Все входные значения являются целыми числами.

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

3
5 0
3 3
2 18

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

8

Рассмотрим проведение собрания с 14:00 до 15:00 по UTC.

- Собрание проводится с 14:00 до 15:00 по базе 1, поэтому 5 сотрудников по базе 1 могут принять участие в собрании.
- Собрание проводится с 17:00 до 18:00 по базе 2, поэтому 3 сотрудника по базе 2 могут принять участие в собрании.
- Собрание проводится с 8:00 до 9:00 по базе 3, поэтому 2 сотрудника по базе 3 не могут принять участие в собрании.

Таким образом, в собрании могут принять участие 5+3=8 сотрудников.
Время собрания не позволяет участвовать большему количеству сотрудников.

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

2
1 10
1000000 20

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

1000000

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

6
31 3
20 8
11 5
4 3
47 14
1 18

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

67

Keyence имеет N баз по всему миру, пронумерованных от 1 до N.
На базе i работает W_i сотрудников, и в 0000 часов по всемирному координированному времени (UTC) на базе i будет X_i часов.
Вы хотите провести часовое совещание по всей компании.
Каждый сотрудник может участвовать в совещании, только если время совещания полностью попадает в интервал времени с 9:00 AM до 6:00 PM на его базе. Найдите максимальное количество сотрудников, которые могут участвовать, при определении времени совещания, чтобы позволить принять участие как можно большему числу сотрудников.

Ввод

Входные данные передаются из стандартного ввода в следующем формате:
N
W_1 X_1
W_2 X_2
\vdots
W_N X_N

Вывод

Выведите максимальное количество сотрудников, которые могут участвовать в совещании.

Ограничения

- 1\leq N \leq 1000
- 1\leq W_i \leq 10^6
- 0\leq X_i < 24
- Все входные значения являются целыми числами.

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

3
5 0
3 3
2 18

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

8

Рассмотрим проведение собрания с 2:00 PM до 3:00 PM по UTC.

- Собрание проводится с 2:00 PM до 3:00 PM на базе 1, поэтому 5 сотрудников на базе 1 могут принять участие в собрании.
- Собрание проводится с 5:00 PM до 6:00 PM на базе 2, поэтому 3 сотрудника на базе 2 могут принять участие в собрании.
- Собрание проводится с 8:00 до 9:00 на базе 3, поэтому 2 сотрудника на базе 3 не могут принять участие в собрании.

Таким образом, в собрании могут принять участие 5+3=8 сотрудников.
Время собрания не позволяет участвовать большему количеству сотрудников.

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

2
1 10
1000000 20

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

1000000

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

6
31 3
20 8
11 5
4 3
47 14
1 18

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

67


В сетке из H строк и W столбцов размещены ноль или более датчиков. Пусть (i, j) обозначает квадрат в i-й строке сверху и j-м столбце слева.
Содержит ли каждый квадрат датчик, задается строками S_1, S_2, \ldots, S_H, каждая длиной W. (i, j) содержит датчик тогда и только тогда, когда j-й символ S_i — #.
Эти датчики взаимодействуют с другими датчиками в квадратах по горизонтали, вертикали или диагонали, смежными с ними, и работают как один датчик.
Здесь говорят, что ячейка (x, y) и ячейка (x', y') являются смежными по горизонтали, вертикали или диагонали, если и только если \max(|x-x'|,|y-y'|) = 1.
Обратите внимание, что если датчик A взаимодействует с датчиком B, а датчик A взаимодействует с датчиком C, то датчик B и датчик C также взаимодействуют.
Рассматривая взаимодействующие датчики как один датчик, найдите количество датчиков в этой сетке.

Ввод

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

Вывод

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

Ограничения

- 1 \leq H, W \leq 1000
- H и W — целые числа.
- S_i — это строка длиной W, где каждый символ — # или ..

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

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

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

3

Если рассматривать взаимодействующие датчики как один датчик, то существуют следующие три датчика:

- Взаимодействующие датчики в (1,2),(1,3),(2,4),(3,5),(3,6)
- Датчик в (4,1)
- Взаимодействующие датчики в (4,3),(5,3)

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

3 3
#.#
.#.
#.#

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

1

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

4 2
..
..
..
..

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

0

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

5 47
.#..#..######..#...#..######..#...#...###...#####
.#.#...#.......#.#...#......##..#...#..#....
.##....#####....#....#####..#.#..#......######
.#.#...#........#....#....#####....#....#####..#.#..#......#####
.#.#...#........#....#......##..#...#..#...#..#...#####
.#.#...#........#....#....##..#...#...#..#...#####..#....#.#...#####
.#.#...#........#....#....##..#...#...####..#....#.#...#####
...Пример вывода 4

7

На сетке размером H строк и W столбцов размещается ноль или более датчиков. Обозначим квадрат в i-й строке сверху и j-м столбце слева как (i, j).
Наличие датчика в каждом квадрате задается строками S_1, S_2, \ldots, S_H, каждая из которых имеет длину W. (i, j) содержит датчик, если и только если j-й символ S_i — это #.
Эти датчики взаимодействуют с другими датчиками в горизонтально, вертикально или диагонально соседних квадратах и работают как один датчик.
Здесь принято считать, что клетка (x, y) и клетка (x', y') являются горизонтально, вертикально или диагонально соседними, если и только если \max(|x-x'|,|y-y'|) = 1.
Обратите внимание, что если датчик A взаимодействует с датчиком B и датчик A взаимодействует с датчиком C, тогда датчик B и датчик C также взаимодействуют.
Считая взаимодействующие датчики как один датчик, найдите количество датчиков на этой сетке.

Ввод

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

Вывод

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

Ограничения

- 1 \leq H, W \leq 1000
- H и W — целые числа.
- S_i — строка длины W, где каждый символ — # или ..

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

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

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

3

При рассмотрении взаимодействующих датчиков как одного датчика, существуют следующие три датчика:

- Взаимодействующие датчики в (1,2),(1,3),(2,4),(3,5),(3,6)
- Датчик в (4,1)
- Взаимодействующие датчики в (4,3),(5,3)

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

3 3
#.#
.#.
#.#

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

1

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

4 2
..
..
..
..

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

0

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

5 47
.#..#..#####..#...#..#####..#...#...###...#####
.#.#...#.......#.#...#......##..#..#...#..#....
.##....#####....#....#####..#.#.#..#......#####
.#.#...#........#....#......#..##..#...#..#....
.#..#..#####....#....#####..#...#...###...#####

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

7

В сетке из H строк и W столбцов размещены ноль или более датчиков. Пусть (i, j) обозначает квадрат в i-й строке сверху и j-м столбце слева.
Содержит ли каждый квадрат датчик, задается строками S_1, S_2, \ldots, S_H, каждая длиной W. (i, j) содержит датчик тогда и только тогда, когда j-й символ S_i — #.
Эти датчики взаимодействуют с другими датчиками в квадратах по горизонтали, вертикали или диагонали, смежными с ними, и работают как один датчик.
Здесь говорят, что ячейка (x, y) и ячейка (x', y') являются смежными по горизонтали, вертикали или диагонали, если и только если \max(|x-x'|,|y-y'|) = 1.
Обратите внимание, что если датчик A взаимодействует с датчиком B, а датчик A взаимодействует с датчиком C, то датчик B и датчик C также взаимодействуют.
Рассматривая взаимодействующие датчики как один датчик, найдите количество датчиков в этой сетке.

Ввод

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

Вывод

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

Ограничения

- 1 \leq H, W \leq 1000
- H и W — целые числа.
- S_i — это строка длиной W, где каждый символ — # или ..

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

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

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

3

Если рассматривать взаимодействующие датчики как один датчик, то существуют следующие три датчика:

- Взаимодействующие датчики в (1,2),(1,3),(2,4),(3,5),(3,6)
- Датчик в (4,1)
- Взаимодействующие датчики в (4,3),(5,3)

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

3 3
#.#
.#.
#.#

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

1

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

4 2
..
..
..
..

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

0

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

5 47
.#..#..######..#...#..######..#...#...###...#####
.#.#...#.......#.#...#......##..#...#..#....
.##....#####....#....#####..#.#..#......######
.#.#...#........#....#......#####....#....#####..#.#..#....#####
.#.#...#........#....#......##..#...#..#...#..#....#####
.#.#...#........#....#....##..#...#...####..#....#.#...#####
.#.#...#........#....#....##..#...#...####..#....#.#...#####
...Пример вывода 4

7