В календаре Королевства AtCoder год состоит из M месяцев, от месяца 1 до месяца M, а каждый месяц состоит из D дней от 1 до D.
Какой день следует за годом y, месяцем m, днём d в этом календаре?

Ввод

Ввод осуществляется посредством стандартного ввода в следующем формате:
M D
y m d

Вывод

Если день, следующий за годом y, месяцем m, днем d в календаре AtCoder Kingdom, — это год y', месяц m', день d', выведи y', m' и d' в таком порядке, разделив их пробелами.

Ограничения

- 1000 \leq y \leq 9000
- 1 \leq m \leq M \leq 99
- 1 \leq d \leq D \leq 99
- Все входные значения — целые числа.

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

12 30
2023 12 30

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

2024 1 1

В календаре королевства год состоит из 12 месяцев, а каждый месяц состоит из 30 дней. Таким образом, день, следующий за годом 2023, месяцем 12, днём 30, — это год 2024, месяц 1, день 1.

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

36 72
6789 23 45

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

6789 23 46

В календаре королевства один год состоит из 36 месяцев, а каждый месяц состоит из 72 дней. Таким образом, день, следующие за годом 6789, месяцем 23, днём 45, — это год 6789, месяц 23, день 46.

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

12 30
2012 6 20

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

2012 6 21

В календаре AtCoder Kingdom год состоит из M месяцев с месяца 1 по месяц M, а каждый месяц состоит из D дней с дня 1 по день D.
Какой день следует за годом y, месяцем m, днем d в этом календаре?

Ввод

Ввод дается из стандартного ввода в следующем формате:
M D
y m d

Вывод

Если день, следующий за годом y, месяцем m, днем d в календаре AtCoder Kingdom, — это год y', месяц m', день d', выведите y', m' и d' в этом порядке, разделив пробелами.

Ограничения

- 1000 \leq y \leq 9000
- 1 \leq m \leq M \leq 99
- 1 \leq d \leq D \leq 99
- Все входные значения являются целыми числами.

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

12 30
2023 12 30

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

2024 1 1

В календаре королевства год состоит из 12 месяцев, а каждый месяц состоит из 30 дней.
Таким образом, день, следующий за 2023 годом, месяц 12, день 30, — это год 2024, месяц 1, день 1.

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

36 72
6789 23 45

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

6789 23 46

В календаре королевства один год состоит из 36 месяцев, а каждый месяц состоит из 72 дней.
Таким образом, день, следующий за годом 6789, месяц 23, день 45, — это год 6789, месяц 23, день 46.

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

12 30
2012 6 20

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

2012 6 21

В календаре AtCoder Kingdom год состоит из M месяцев от месяца 1 до месяца M, а каждый месяц состоит из D дней от дня 1 до дня D.
Какой день следует за годом y, месяцем m и днем d в этом календаре?

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
M D
y m d

Вывод

Если день, следующий за годом y, месяцем m и днём d в календаре AtCoder Kingdom, это год y', месяц m', день d', выведите y', m', и d' в этом порядке, разделённые пробелами.

Ограничения

- 1000 \leq y \leq 9000
- 1 \leq m \leq M \leq 99
- 1 \leq d \leq D \leq 99
- Все вводные значения являются целыми числами.

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

12 30
2023 12 30

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

2024 1 1

В календаре королевства год состоит из 12 месяцев, а каждый месяц из 30 дней.
Таким образом, день, следующий за 2023 годом, 12 месяцем, 30 днем, это 2024 год, 1 месяц, 1 день.

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

36 72
6789 23 45

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

6789 23 46

В календаре королевства один год состоит из 36 месяцев, а каждый месяц из 72 дней.
Таким образом, день, следующий за 6789 годом, 23 месяцем, 45 днем, это 6789 год, 23 месяц, 46 день.

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

12 30
2012 6 20

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

2012 6 21


В супермаркете продаются упаковки яиц.
Упаковка из 6 яиц стоит S йен, упаковка из 8 яиц стоит M йен, а упаковка из 12 яиц стоит L йен.
Когда вы сможете купить любое количество любых упаковок, найдите минимальную сумму денег, необходимую для покупки как минимум N яиц.

Input

The input is given from Standard Input in the following format:
N S M L

Output

Print the answer.

Constraints

- 1 \leq N \leq 100
- 1 \leq S,M,L \leq 10^4
- All input values are integers.

Sample Input 1

16 120 150 200

Sample Output 1

300

Оптимально купить две упаковки по 8 яиц.

Sample Input 2

10 100 50 10

Sample Output 2

10

Оптимально купить одну упаковку из 12 яиц.

Sample Input 3

99 600 800 1200

Sample Output 3

10000

Оптимально купить пять упаковок по 8 яиц и пять упаковок по 12 яиц.

Супермаркет продает упаковки яиц.
Упаковка из 6 яиц стоит S иен, упаковка из 8 яиц стоит M иен, а упаковка из 12 яиц стоит L иен.
Если вы можете купить любое количество каждой упаковки, найдите минимальную сумму денег, необходимую для покупки не менее N яиц.

Ввод

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

Вывод

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

Ограничения

- 1 \leq N \leq 100
- 1 \leq S,M,L \leq 10^4
- Все входные значения являются целыми числами.

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

16 120 150 200

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

300

Оптимально купить две упаковки по 8 яиц.

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

10 100 50 10

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

10

Оптимально купить одну упаковку на 12 яиц.

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

99 600 800 1200

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

10000

Оптимально купить пять упаковок по 8 яиц и пять упаковок по 12 яиц.

Супермаркет продает упаковки яиц.
Упаковка из 6 яиц стоит S йен, упаковка из 8 яиц стоит M йен, а упаковка из 12 яиц стоит L йен.
Когда можно купить любое количество каждой упаковки, найдите минимальное количество денег, необходимое для покупки по крайней мере N яиц.

Ввод

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

Вывод

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

Ограничения

- 1 \leq N \leq 100
- 1 \leq S,M,L \leq 10^4
- Все входные значения — целые числа.

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

16 120 150 200

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

300

Оптимально купить две упаковки по 8 яиц.

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

10 100 50 10

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

10

Оптимально купить одну упаковку из 12 яиц.

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

99 600 800 1200

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

10000

Оптимально купить пять упаковок по 8 яиц и пять упаковок по 12 яиц.


Дана последовательность A=(A_1,\ldots,A_N) длины N.
Для каждого i=1,\ldots,N, решите следующую задачу.
Задача: Найдите сумму всех элементов в A, которые больше A_i.

Ввод

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

Вывод

Для каждого 1 \leq k \leq N, пусть B_k будет ответом на задачу, когда i=k. Выведите B_1,\ldots,B_N в этом порядке, разделенные пробелами.

Ограничения

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

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

5
1 4 1 4 2

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

10 0 10 0 8

- Для i=1, сумма элементов больше, чем A_1=1, равна 4+4+2=10.
- Для i=2, сумма элементов больше, чем A_2=4, равна 0.
- Для i=3, сумма элементов больше, чем A_3=1, равна 4+4+2=10.
- Для i=4, сумма элементов больше, чем A_4=4, равна 0.
- Для i=5, сумма элементов больше, чем A_5=2, равна 4+4=8.

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

10
31 42 59 26 53 58 97 93 23 54

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

456 414 190 487 361 249 0 97 513 307

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

50
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

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

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Вам дана последовательность A=(A_1,\ldots,A_N) длины N.
Для каждого  i=1,\ldots,N, решить следующую задачу.
Проблема: Найдите сумму всех элементов в A, которые больше A_i.

Ввод

Ввод подается из Standard Input в следующем формате:
N
A_1 \ldots A_N

Вывод

Для каждого 1\leq k\leq N, пусть B_k будет ответом на задачу, когда i=k. Выведите B_1,\ldots,B_N в таком порядке, разделенном пробелами.

Ограничения

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

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

5
1 4 1 4 2

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

10 0 10 0 8

- Для i=1, сумма элементов больше A_1=1 равна 4+4+2=10.
- Для i=2, сумма элементов больше A_2=4 равна 0.
- Для i=3, сумма элементов больше A_3=1 равна 4+4+2=10.
- Для i=4, сумма элементов больше A_4=4 равна 0.
- Для i=5, сумма элементов больше A_5=2 равна 4+4=8.

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

10
31 42 59 26 53 58 97 93 23 54

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

456 414 190 487 361 249 0 97 513 307

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

50
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

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

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Дана последовательность A=(A_1,\ldots,A_N) длиной N.
Для каждого i=1,\ldots,N, реши следующую задачу.
Задача: Найти сумму всех элементов в A, которые больше, чем A_i.

Ввод

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

Вывод

Для каждого 1 \leq k \leq N, пусть B_k будет ответом на задачу, где i=k. Выведи B_1,\ldots,B_N в этом порядке, разделяя их пробелами.

Ограничения

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

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

5
1 4 1 4 2

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

10 0 10 0 8

- Для i=1, сумма элементов, которые больше, чем A_1=1, равна 4+4+2=10.
- Для i=2, сумма элементов, которые больше, чем A_2=4, равна 0.
- Для i=3, сумма элементов, которые больше, чем A_3=1, равна 4+4+2=10.
- Для i=4, сумма элементов, которые больше, чем A_4=4, равна 0.
- Для i=5, сумма элементов, которые больше, чем A_5=2, равна 4+4=8.

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

10
31 42 59 26 53 58 97 93 23 54

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

456 414 190 487 361 249 0 97 513 307

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

50
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

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

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


Имеется сетка с квадратами 10^9 by 10^9. Обозначим через (i, j) квадрат в (i + 1)-й строке сверху и (j + 1)-м столбце слева (0 \leq i, j \lt 10^9). (Обратите внимание на необычное присвоение индекса.)
Каждый квадрат чёрный или белый. Цвет квадрата (i, j) представлен символом P[i \bmod N][j \bmod N], где B означает чёрный, а W означает белый. Здесь a \bmod b обозначает остаток от деления a на b.
Ответьте на Q-запросы.
Каждый запрос даёт вам четыре целых числа A, B, C, D и просит вас найти количество чёрных квадратов, содержащихся в прямоугольной области с (A, B) в верхнем левом углу и (C, D) в нижнем. правый угол.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате. Здесь \text{query}_i это i-й запрос, который необходимо обработать.
N Q
P[0][0]P[0][1]\dots P[0][N-1]
P[1][0]P[1][1]\dots P[1][N-1]
\vdots
P[N-1][0]P[N-1][1]\dots P[N-1][N-1]
\text{query}_1
\text{query}_2
\vdots
\text{query}_Q

Каждый запрос задаётся в следующем формате:
A B C D

Вывод

Следуйте инструкциям в условии задачи и выведите ответы на запросы, разделённые символами новой строки.

Ограничения

- 1 \leq N \leq 1000
- P[i][j] представляет собой W или B.
- 1 \leq Q \leq 2 \times 10^5
- 0 \leq A \leq C \lt 10^9
- 0 \leq B \leq D \lt 10^9
- N, Q, A, B, C, D все целые числа.

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

3 2
WWB
BBW
WBW
1 2 3 4
0 3 4 5

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

4
7

На рисунке ниже показана верхняя левая часть сетки.

Для первого запроса прямоугольная область с (1, 2) в верхнем левом углу и (3, 4) в правом нижнем углу, окружённая красной рамкой на рисунке, содержит четыре чёрных квадрата.
Для второго запроса прямоугольная область с (0, 3) в верхнем левом углу и (4, 5) в правом нижнем углу, окружённая синей рамкой на рисунке, содержит семь чёрных квадратов.

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

10 5
BBBWWWBBBW
WWWWWBBBWB
BBBWBBWBBB
BBBWWBWWWW
WWWWBWBWBW
WBBWBWBBBB
WWBBBWWBWB
WBWBWWBBBB
WBWBWBBWWW
WWWBWWBWWB
5 21 21 93
35 35 70 43
55 72 61 84
36 33 46 95
0 0 999999999 999999999

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

621
167
44
344
500000000000000000

Есть сетка с 10^9 на 10^9 квадратов. Пусть (i, j) обозначает квадрат в (i + 1)-й строке сверху и (j + 1)-м столбце слева (0 \leq i, j \lt 10^9). (Обратите внимание на необычное назначение индексов.)
Каждый квадрат черный или белый. Цвет квадрата (i, j) представлен символом P[i \bmod N][j \bmod N], где B означает черный, а W означает белый. Здесь a \bmod b обозначает остаток от деления a на b.
Ответьте на Q запросов.
Каждый запрос дает вам четыре целых числа A, B, C, D и просит вас найти количество черных квадратов, содержащихся в прямоугольной области с (A, B) в верхнем левом углу и (C, D) в нижнем правом углу.

Ввод

Ввод дается из стандартного ввода в следующем формате. Здесь \text{query}_i — i-й запрос, который нужно обработать.
N Q
P[0][0]P[0][1]\dots P[0][N-1]
P[1][0]P[1][1]\dots P[1][N-1]
\vdots
P[N-1][0]P[N-1][1]\dots P[N-1][N-1]
\text{query}_1
\text{query}_2
\vdots
\text{query}_Q

Каждый запрос дается в следующем формате:
A B C D

Вывод

Следуйте инструкциям в условии задачи и выведите ответы на запросы, разделив их новыми строками.

Ограничения

- 1 \leq N \leq 1000
- P[i][j] — это W или B.
- 1 \leq Q \leq 2 \times 10^5
- 0 \leq A \leq C \lt 10^9
- 0 \leq B \leq D \lt 10^9
- N, Q, A, B, C, D — все целые числа.

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

3 2
WWB
BBW
WBW
1 2 3 4
0 3 4 5

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

4
7

На рисунке ниже показана верхняя левая часть сетки.

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

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

10 5
BBBWWBBBBW
WWWWWBBBWB
BBBWBBB
BBBWWBWW
WWWWBWBWBW
WBBWBWBB
WWBBBBWWB
WBWBWWBBBB
WBWBWBBWW
WWWBWWBWWB
5 21 21 93
35 35 70 43
55 72 61 84
36 33 46 95
0 0 999999999 999999999

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

621
167
44
344
5000000000000000000

Существует сетка с квадратами 10^9 на 10^9. Пусть (i, j) обозначает квадрат в (i + 1)-ой строке сверху и (j + 1)-ом столбце слева (0 \leq i, j \lt 10^9). (Обратите внимание на некорректный индекс.)
Каждый квадрат черного или белого цвета. Цвет квадрата (i, j)обозначается символом P[i \bmod N][j \bmod N], где B значит черный, а W - белый. Здесь \bmod b указывает на остаток при делении a на b.
Ответьте на запросы Q.
Каждый запрос дает вам четыре целых числа A, B, C, D, вам необходимо найти количество черных квадратов, содержащихся в прямоугольной зоне с (A, B) в верхнем левом углу и (C, D) нижнем правом углу.

Input

The input is given from Standard Input in the following format. Here, \text{query}_i is the i-th query to be processed.
N Q
P[0][0]P[0][1]\dots P[0][N-1]
P[1][0]P[1][1]\dots P[1][N-1]
\vdots
P[N-1][0]P[N-1][1]\dots P[N-1][N-1]
\text{query}_1
\text{query}_2
\vdots
\text{query}_Q

Each query is given in the following format:
A B C D

Output

Follow the instructions in the problem statement and print the answers to the queries, separated by newlines.

Constraints

- 1 \leq N \leq 1000
- P[i][j] is W or B.
- 1 \leq Q \leq 2 \times 10^5
- 0 \leq A \leq C \lt 10^9
- 0 \leq B \leq D \lt 10^9
- N, Q, A, B, C, D are all integers.

Sample Input 1

3 2
WWB
BBW
WBW
1 2 3 4
0 3 4 5

Sample Output 1

4
7

The figure below illustrates the upper left part of the grid.

For the first query, the rectangular area with (1, 2) as the top-left corner and (3, 4) as the bottom-right corner, surrounded by the red frame in the figure, contains four black squares.
For the second query, the rectangular area with (0, 3) as the top-left corner and (4, 5) as the bottom-right corner, surrounded by the blue frame in the figure, contains seven black squares.

Sample Input 2

10 5
BBBWWWBBBW
WWWWWBBBWB
BBBWBBWBBB
BBBWWBWWWW
WWWWBWBWBW
WBBWBWBBBB
WWBBBWWBWB
WBWBWWBBBB
WBWBWBBWWW
WWWBWWBWWB
5 21 21 93
35 35 70 43
55 72 61 84
36 33 46 95
0 0 999999999 999999999

Sample Output 2

621
167
44
344
500000000000000000


В кафетерии AtCoder продаются блюда, состоящие из основного и дополнительного блюда.
Существует N типов основных блюд, называемых основное блюдо 1, основное блюдо 2, \dots, основное блюдо N. Основное блюдо i стоит a_i йен.
Существует M типов дополнительных блюд, называемых дополнительное блюдо 1, дополнительное блюдо 2, \dots, дополнительное блюдо M. Дополнительное блюдо i стоит b_i йен.
Комплексный обед состоит из выбора одного основного и одного дополнительного блюда. Цена комплексного обеда — это сумма цен выбранного основного и дополнительного блюд.
Однако для L различных пар (c_1, d_1), \dots, (c_L, d_L), комплексный обед, состоящий из основного блюда c_i и дополнительного блюда d_i, не предлагается, поскольку они плохо сочетаются друг с другом.
То есть предлагается NM - L комплексных обедов. (Ограничения гарантируют, что хотя бы один комплексный обед предложен.)
Найдите цену самого дорогого предложенного комплексного обеда.

Ввод

Ввод предоставляется из стандартного ввода в следующем формате:
N M L
a_1 a_2 \dots a_N
b_1 b_2 \dots b_M
c_1 d_1
c_2 d_2
\vdots
c_L d_L

Вывод

Выведите цену, в йенах, самого дорогого предложенного комплексного обеда.

Ограничения

- 1 \leq N, M \leq 10^5
- 0 \leq L \leq \min(10^5, NM - 1)
- 1 \leq a_i, b_i \leq 10^9
- 1 \leq c_i \leq N
- 1 \leq d_j \leq M
- (c_i, d_i) \neq (c_j, d_j) если i \neq j.
- Все входные значения являются целыми числами.

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

2 3 3
2 1
10 30 20
1 2
2 1
2 3

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

31

Они предлагают три комплексных обеда, перечисленные ниже, вместе с их ценами:

- Комплексный обед, состоящий из основного блюда 1 и дополнительного блюда 1, стоимостью 2 + 10 = 12 йен.
- Комплексный обед, состоящий из основного блюда 1 и дополнительного блюда 3, стоимостью 2 + 20 = 22 йен.
- Комплексный обед, состоящий из основного блюда 2 и дополнительного блюда 2, стоимостью 1 + 30 = 31 йен.

Среди них самым дорогим является третий. Таким образом, выведите 31.

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

2 1 0
1000000000 1
1000000000

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

2000000000

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

10 10 10
47718 21994 74148 76721 98917 73766 29598 59035 69293 29127
7017 46004 16086 62644 74928 57404 32168 45794 19493 71590
1 3
2 6
4 5
5 4
5 5
5 6
5 7
5 8
5 10
7 3

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

149076

Кафетерий AtCoder продает блюда, состоящие из основного блюда и гарнира.
Существует N типов основных блюд, называемых основное блюдо 1, основное блюдо 2, \dots, основное блюдо N. Основное блюдо i стоит a_i йен.
Существует M типов гарниров, называемых гарнир 1, гарнир 2, \dots, гарнир M. Гарнир i стоит b_i йен.
Комплексный обед состоит из выбора одного основного блюда и одного гарнира. Цена комплексного обеда — это сумма цен выбранных основного блюда и гарнира.
Однако для L различных пар (c_1, d_1), \dots, (c_L, d_L), комплексный обед, состоящий из основного блюда c_i и гарнира d_i, не предлагается, поскольку они не сочетаются друг с другом.
То есть предлагается NM - L комплексных обедов. (Ограничения гарантируют, что предлагается по крайней мере один комплексный обед.)
Определите цену самого дорогого из предлагаемых комплексных обедов.

Ввод

Вводные данные задаются из стандартного ввода в следующем формате:
N M L
a_1 a_2 \dots a_N
b_1 b_2 \dots b_M
c_1 d_1
c_2 d_2
\vdots
c_L d_L

Вывод

Выведите цену в иенах самого дорогого предлагаемого комплексного обеда.

Ограничения

- 1 \leq N, M \leq 10^5
- 0 \leq L \leq \min(10^5, NM - 1)
- 1 \leq a_i, b_i \leq 10^9
- 1 \leq c_i \leq N
- 1 \leq d_j \leq M
- (c_i, d_i) \neq (c_j, d_j), если i \neq j.
- Все входные значения являются целыми числами.

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

2 3 3
2 1
10 30 20
1 2
2 1
2 3

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

31

Они предлагают три комплексных обеда, перечисленных ниже, вместе с их ценами:

- Комплексный обед, состоящий из основного блюда 1 и гарнира 1, по цене 2 + 10 = 12 иен.
- Комплексный обед, состоящий из основного блюда 1 и гарнира 3, по цене 2 + 20 = 22 иены.
- Комплексный обед, состоящий из основного блюда 2 и гарнира 2, по цене 1 + 30 = 31 иена.

Среди них самым дорогим является третий. Таким образом, распечатайте 31.

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

2 1 0
1000000000 1
1000000000

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

20000000000

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

10 10 10
47718 21994 74148 76721 98917 73766 29598 59035 69293 29127
7017 46004 16086 62644 74928 57404 32168 45794 19493 71590
1 3
2 6
4 5
5 4
5 5
5 6
5 7
5 8
5 10
7 3

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

149076

В кафетерии AtCoder продаются блюда, состоящие из основного и дополнительного блюда.
Существует N типов основных блюд, называемых основное блюдо 1, основное блюдо 2, \dots, основное блюдо N. Основное блюдо i стоит a_i йен.
Существует M типов дополнительных блюд, называемых дополнительное блюдо 1, дополнительное блюдо 2, \dots, дополнительное блюдо M. Дополнительное блюдо i стоит b_i йен.
Комплексный обед состоит из выбора одного основного и одного дополнительного блюда. Цена комплексного обеда — это сумма цен выбранного основного и дополнительного блюд.
Однако для L различных пар (c_1, d_1), \dots, (c_L, d_L), комплексный обед, состоящий из основного блюда c_i и дополнительного блюда d_i, не предлагается, поскольку они плохо сочетаются друг с другом.
То есть предлагается NM - L комплексных обедов. (Ограничения гарантируют, что хотя бы один комплексный обед предложен.)
Найдите цену самого дорогого предложенного комплексного обеда.

Ввод

Ввод предоставляется из стандартного ввода в следующем формате:
N M L
a_1 a_2 \dots a_N
b_1 b_2 \dots b_M
c_1 d_1
c_2 d_2
\vdots
c_L d_L

Вывод

Выведите цену, в йенах, самого дорогого предложенного комплексного обеда.

Ограничения

- 1 \leq N, M \leq 10^5
- 0 \leq L \leq \min(10^5, NM - 1)
- 1 \leq a_i, b_i \leq 10^9
- 1 \leq c_i \leq N
- 1 \leq d_j \leq M
- (c_i, d_i) \neq (c_j, d_j) if i \neq j.
- Все входные значения являются целыми числами.

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

2 3 3
2 1
10 30 20
1 2
2 1
2 3

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

31

Они предлагают три комплексных обеда, перечисленные ниже, вместе с их ценами:

- Комплексный обед, состоящий из основного блюда 1 и дополнительного блюда 1, стоимостью 2 + 10 = 12 йен.
- Комплексный обед, состоящий из основного блюда 1 и дополнительного блюда 3, стоимостью 2 + 20 = 22 йен.
- Комплексный обед, состоящий из основного блюда 2 и дополнительного блюда 2, стоимостью 1 + 30 = 31 йен.

Среди них самым дорогим является третий. Таким образом, выведите 31.

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

2 1 0
1000000000 1
1000000000

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

2000000000

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

10 10 10
47718 21994 74148 76721 98917 73766 29598 59035 69293 29127
7017 46004 16086 62644 74928 57404 32168 45794 19493 71590
1 3
2 6
4 5
5 4
5 5
5 6
5 7
5 8
5 10
7 3

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

149076


Компания AtCoder Inc. продает товары через интернет-магазин.
Такахаcи решил купить N типов продуктов.
Для каждого целого числа i от 1 до N, продукт i-го типа стоит P_i йен за штуку, и он купит Q_i этого продукта.
Кроме того, необходимо оплатить доставку.
Стоимость доставки составляет 0 йен, если общая стоимость купленных товаров составляет S йен или больше, и K йен в противном случае.
Он заплатит общую стоимость купленных товаров плюс стоимость доставки.
Рассчитайте сумму, которую он заплатит.

Ввод

Ввод осуществляется из стандартного ввода в следующем формате:
N S K
P_1 Q_1
P_2 Q_2
\vdots
P_N Q_N

Вывод

Выведите сумму, которую Такахаcи заплатит за покупки в интернете.

Ограничения

- 1\leq N\leq 100
- 1\leq S\leq 10000
- 1\leq K\leq 10000
- 1\leq P_i\leq 10000
- 1\leq Q_i\leq 100
- Все входные данные являются целыми числами.

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

2 2000 500
1000 1
100 6

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

2100

Такахаcи покупает один товар за 1000 йен и шесть товаров по 100 йен каждый.
Таким образом, общая стоимость товаров составляет 1000\times 1+100\times 6=1600 йен.
Поскольку общая сумма за товары меньше 2000 йен, стоимость доставки составит 500 йен.
Следовательно, сумма, которую Такахаcи заплатит, составляет 1600+500=2100 йен.

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

3 2000 500
1000 1
100 6
5000 1

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

6600

Общая стоимость товаров составляет 1000\times 1+100\times 6+5000\times 1=6600 йен.
Поскольку общая сумма за товары не меньше 2000 йен, стоимость доставки составит 0 йен.
Следовательно, сумма, которую Такахаcи заплатит, составляет 6600+0=6600 йен.

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

2 2000 500
1000 1
1000 1

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

2000

Может быть несколько товаров с одинаковой ценой за единицу.


AtCoder Inc. продает стаканы и кружки.
У Такахаши есть стакан емкостью G миллилитров и кружка емкостью M миллилитров.
Здесь G<M.
Изначально и стакан, и кружка пусты.
Выполнив следующую операцию K раз, определите, сколько миллилитров воды находится в стакане и кружке соответственно.

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

Ввод

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

Вывод

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

Ограничения

- 1\leq K\leq 100
- 1\leq G<M\leq 1000
- G, M и K — целые числа.

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

5 300 500

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

200 500

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

- Наполните кружку водой. В стакане 0 миллилитров, а в кружке 500 миллилитров воды.
- Перелейте воду из кружки в стакан, пока стакан не наполнится. В стакане 300 миллилитров, а в кружке 200 миллилитров воды.
- Слейте всю воду из стакана. В стакане 0 миллилитров, а в кружке 200 миллилитров воды.
- Перелейте воду из кружки в стакан, пока кружка не опустеет. В стакане 200 миллилитров, а в кружке 0 миллилитров воды.
- Наполните кружку водой. В стакане 200 миллилитров, а в кружке 500 миллилитров воды.

Таким образом, после пяти операций в стакане 200 миллилитров, а в кружке 500 миллилитров воды.
Следовательно, выведите 200 и 500 в этом порядке, разделив пробелом.

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

5 100 200

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

0 0

AtCoder Inc. продает стаканы и кружки.
Танакаси имеет стакан с емкостью G миллилитров и кружку с емкостью M миллилитров.
Здесь G<M.
Изначально и стакан, и кружка пусты.
После выполнения следующей операции K раз, определите, сколько миллилитров воды находятся в стакане и кружке соответственно.

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

Ввод

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

Вывод

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

Ограничения

- 1\leq K\leq 100
- 1\leq G<M\leq 1000
- G, M, и K — целые числа.

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

5 300 500

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

200 500

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

- Заполните кружку водой. В стакане 0 миллилитров, в кружке 500 миллилитров воды.
- Перелейте воду из кружки в стакан, пока стакан не заполнится. В стакане 300 миллилитров, в кружке 200 миллилитров воды.
- Вылейте всю воду из стакана. В стакане 0 миллилитров, в кружке 200 миллилитров воды.
- Перелейте воду из кружки в стакан, пока кружка не опустеет. В стакане 200 миллилитров, в кружке 0 миллилитров воды.
- Заполните кружку водой. В стакане 200 миллилитров, в кружке 500 миллилитров воды.

Таким образом, после пяти операций в стакане 200 миллилитров, а в кружке 500 миллилитров воды.
Следовательно, выведите 200 и 500 в этом порядке, разделенные пробелом.

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

5 100 200

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

0 0

AtCoder Inc. продает очки и кружки.
Такахаши имеет стакан с емкостью г миллилитров и кружку с емкостью м миллилитров.
Здесь, G<M.
Сначала стекло и кружка пусты.
После выполнения следующей операции K раз, определить, сколько миллилитров воды находятся в стакане и кружке, соответственно.

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

Вход

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

Выход

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

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

- 1\leq K\leq 100
- 1\leq G<M\leq 1000
- G, M, и K целые числа.

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

5 300 500

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

200 500

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

- наполните кружку водой. В стакане 0 миллилитров, а в кружке 500 миллилитров воды.
- перенести воду из кружки в стакан до тех пор, пока стакан не будет заполнен. В стакане 300 миллилитров, а в кружке 200 миллилитров воды.
- выбрось всю воду из стекла. В стакане 0 миллилитров, а в кружке 200 миллилитров воды.
- перенести воду из кружки в стакан до тех пор, пока кружка не будет пуста. В стакане 200 миллилитров, а в кружке 0 миллилитров воды.
- наполните кружку водой. В стакане 200 миллилитров, а в кружке 500 миллилитров воды.

Таким образом, после пяти операций стакан имеет 200 миллилитров, а кружка - 500 миллилитров воды.
Таким образом, распечатать 200 и 500 в этом порядке, разделенные пробел.

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

5 100 200

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

0 0


AtCoder Inc. продает футболки со своим логотипом.
Вам дано расписание Такахаши на N дней в виде строки S длиной N, состоящей из 0, 1 и 2.
В частности, для целого числа i, удовлетворяющего 1\leq i\leq N,

- если i-й символ S равен 0, у него нет плана на i-й день;
- если i-й символ S равен 1, он планирует пойти пообедать в i-й день;
- если i-й символ S равен 2, он планирует посетить соревновательное мероприятие по программированию в i-й день.

У Такахаши есть M простых футболок, все постиранные и готовые к носке непосредственно перед первым днем.
Кроме того, чтобы иметь возможность выполнить следующие условия, он купит несколько футболок с логотипом AtCoder.

- В те дни, когда он идет пообедать, он будет носить простую или с логотипом футболку.
- В дни, когда он посещает соревновательное мероприятие по программированию, он будет носить футболку с логотипом.
- В дни, когда нет планов, он не будет носить никаких футболок. Кроме того, он постирает все футболки, которые наденет в этот момент. Он сможет носить их снова со следующего дня.
- Как только он наденет футболку, он не сможет носить ее снова, пока не постирает.

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

Ввод

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

Вывод

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

Ограничения

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

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

6 1
112022

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

2

Если Такахаши купит две футболки с логотипом, он может носить футболки следующим образом:

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

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

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

3 1
222

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

3

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

2 1
01

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

0

Ему не нужно покупать новые футболки.

AtCoder Inc. продаёт футболки с логотипом.
Вам предоставлено расписание Такахаси на N дней в виде строки S длиной N, состоящей из 0, 1 и 2.
В частности, для целого числа i, удовлетворяющего 1\leq i\leq N,

- если i-й символ S равен 0, у него нет планов на i-й день;
- если i-й символ S равен 1, он планирует пойти пообедать на i-й день;
- если i-й символ S равен 2, он планирует посетить мероприятие по спортивному программированию на i-й день.

У Такахаси есть M простых футболок, все постираны и готовы к ношению прямо перед первым днем.
Кроме того, чтобы удовлетворить следующие условия, он купит несколько футболок с логотипом AtCoder.

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

Определите минимальное количество футболок, которые ему нужно купить, чтобы носить соответствующие футболки на все запланированные дни в течение N дней. Если ему не нужно покупать новые футболки, выведите 0.

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

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

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

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

Ограничения

- 1\leq M\leq N\leq 1000
- S — строка длиной N, состоящая из 0, 1 и 2.
- N и M — целые числа.

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

6 1
112022

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

2

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

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

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

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

3 1
222

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

3

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

2 1
01

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

0

Ему не нужно покупать новые футболки.

AtCoder Inc. продает футболки со своим логотипом.
Вам дано расписание Такахаши на N дней в виде строки S длины N, состоящей из 0, 1, и 2.
В частности, для целого числа i, удовлетворяющего условию 1\leq i\leq N,

- если i-й символ S равен 0, у него нет плана на i-й день;
- если i-й символ S равен 1, он планирует пойти пообедать в i-й день;
- если i-й символ S равен 2, он планирует посетить соревнование по программированию в i-й день.

У Такахаши есть простые футболки М, все выстиранные и готовые к использованию незадолго до первого дня работы.
Кроме того, чтобы иметь возможность удовлетворить следующие условия, он купит несколько футболок с логотипом AtCoder.

- В те дни, когда он выходит куда-нибудь поесть, он носит простую футболку или футболку с логотипом.
- В дни, когда он посещает соревнования по программированию, он будет носить футболку с логотипом.
- В дни отсутствия планов он не будет носить футболки. Кроме того, он постирает все футболки, надетые в этот момент. Он сможет носить их снова со следующего дня.
- Однажды надев футболку, он не сможет надеть её снова, пока не постирает.

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

Ввод

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

Вывод

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

Ограничения

- 1\leq M\leq N\leq 1000
- S это строка длины N, состоящая из цифр 0, 1, и 2.
- N и M являются целыми числами.

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

6 1
112022

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

2

Если Такахаши купит две футболки с логотипом, он сможет носить их следующим образом:

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

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

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

3 1
222

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

3

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

2 1
01

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

0

Ему не нужно покупать новые футболки.


Вам даны две сетки, A и B, каждая с H строками и W столбцами.
Для каждой пары целых чисел (i, j), удовлетворяющих 1 \leq i \leq H и 1 \leq j \leq W, пусть (i, j) обозначает ячейку в i-й строке и j-м столбце. В сетке A ячейка (i, j) содержит целое число A_{i, j}. В сетке B ячейка (i, j) содержит целое число B_{i, j}.
Вы повторите следующую операцию любое количество раз, возможно, ноль. В каждой операции вы выполняете одно из следующих действий:

- Выберите целое число i, удовлетворяющее 1 \leq i \leq H-1, и поменяйте местами i-ю и (i+1)-ю строки в сетке A.
- Выберите целое число i, удовлетворяющее 1 \leq i \leq W-1, и поменяйте местами i-ю и (i+1)-ю столбцы в сетке A.

Определите, возможно ли сделать сетку A идентичной сетке B, повторив указанную выше операцию. Если это возможно, выведите минимальное количество операций, необходимых для этого.
Здесь сетка A идентична сетке B тогда и только тогда, когда для всех пар целых чисел (i, j), удовлетворяющих 1 \leq i \leq H и 1 \leq j \leq W, целое число, записанное в ячейке (i, j) сетки A, равно целому числу, записанному в ячейке (i, j) сетки B.

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

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

Вывод

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

Ограничения

- Все входные значения являются целыми числами.
- 2 \leq H, W \leq 5
- 1 \leq A_{i, j}, B_{i, j} \leq 10^9

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

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

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

3

Поменяв местами четвертый и пятый столбцы исходной сетки A, получим следующую сетку:
1 2 3 5 4
6 7 8 10 9
11 12 13 15 14
16 17 18 20 19

Затем, поменяв местами вторую и третью строки, получим следующую сетку:
1 2 3 5 4
11 12 13 15 14
6 7 8 10 9
16 17 18 20 19

Наконец, поменяв местами второй и третий столбцы, получим следующую сетку, которая идентична сетке B:
1 3 2 5 4
11 13 12 15 14
6 8 7 10 9
16 18 17 20 19

Вы можете сделать сетку A идентичной сетке B с помощью трех операций выше и не можете сделать этого с меньшим количеством операций, поэтому выведите 3.

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

2 2
1 1
1 1
1 1
1 1000000000

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

-1

Не существует способа выполнить операцию, чтобы сетка A совпадала с сеткой B, поэтому выведите -1.

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

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

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

0

Сетка A уже идентична сетке B в начале.

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

5 5
710511029 136397527 763027379 644706927 447672230
979861204 57882493 442931589 951053644 152300688
43971370 126515475 962139996 541282303 834022578
312523039 506696497 664922712 414720753 304621362
325269832 191410838 286751784 732741849 806602693
806602693 732741849 286751784 191410838 325269832
304621362 414720753 664922712 506696497 312523039
834022578 541282303 962139996 126515475 43971370
152300688 951053644 442931589 57882493 979861204
447672230 644706927 763027379 136397527 710511029

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

20

Вам даны две сетки, A и B, каждая с H строками и W столбцами.
Для каждой пары целых чисел (i, j), удовлетворяющей 1 \leq i \leq H и 1 \leq j \leq W, пусть (i, j) обозначает ячейку в i-й строке и j-м столбце. В сетке A ячейка (i, j) содержит целое число A_{i, j}. В сетке B ячейка (i, j) содержит целое число B_{i, j}.
Вы будете повторять следующую операцию любое количество раз, возможно, ноль. В каждой операции вы выполняете одно из следующих действий:

- Выберите целое число i, удовлетворяющее 1 \leq i \leq H-1 и поменяйте местами i-ю и (i+1)-ю строки в сетке A.
- Выберите целое число i, удовлетворяющее 1 \leq i \leq W-1 и поменяйте местами i-й и (i+1)-й столбцы в сетке A.

Определите, возможно ли сделать сетку A идентичной сетке B, повторяя операцию выше. Если это возможно, напечатайте минимальное количество операций, необходимых для этого.
Здесь сетка A идентична сетке B, если и только если для всех пар целых чисел (i, j), удовлетворяющих 1 \leq i \leq H и 1 \leq j \leq W, целое число, записанное в ячейке (i, j) сетки A, равно целому числу, записанному в ячейке (i, j) сетки B.

Ввод

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

Вывод

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

Ограничения

- Все входные значения — целые числа.
- 2 \leq H, W \leq 5
- 1 \leq A_{i, j}, B_{i, j} \leq 10^9

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

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

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

3

Поменяв местами четвертый и пятый столбцы начальной сетки A, получаем следующую сетку:
1 2 3 5 4
6 7 8 10 9
11 12 13 15 14
16 17 18 20 19

Затем, поменяв местами вторую и третью строки, получаем следующую сетку:
1 2 3 5 4
11 12 13 15 14
6 7 8 10 9
16 17 18 20 19

Наконец, поменяв местами второй и третий столбцы, получаем следующую сетку, которая идентична сетке B:
1 3 2 5 4
11 13 12 15 14
6 8 7 10 9
16 18 17 20 19

Вы можете сделать сетку A идентичной сетке B, выполнив три операции, и не можете сделать это с меньшим количеством операций, поэтому выведите 3.

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

2 2
1 1
1 1
1 1
1 1000000000

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

-1

Нет способа выполнить операцию, чтобы заставить сетку A соответствовать сетке B, поэтому выведите -1.

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

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

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

0

Сетка A уже идентична сетке B в самом начале.

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

5 5
710511029 136397527 763027379 644706927 447672230
979861204 57882493 442931589 951053644 152300688
43971370 126515475 962139996 541282303 834022578
312523039 506696497 664922712 414720753 304621362
325269832 191410838 286751784 732741849 806602693
806602693 732741849 286751784 191410838 325269832
304621362 414720753 664922712 506696497 312523039
834022578 541282303 962139996 126515475 43971370
152300688 951053644 442931589 57882493 979861204
447672230 644706927 763027379 136397527 710511029

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

20


Вам дано целое число N от 1 до 9 включительно в качестве ввода.
Конкатенируйте N копий цифры N и выведите полученную строку.

Ввод

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

Вывод

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

Ограничения

- N — целое число от 1 до 9 включительно.

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

3

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

333

Конкатенация трех копий цифры 3 дает строку 333.

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

9

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

999999999

Вам дано целое число N от 1 до 9 включительно в качестве входных данных.
Объедините N копий цифры N и выведите полученную строку.

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

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

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

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

Ограничения

- N — целое число от 1 до 9 включительно.

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

3

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

333

Объедините три копии цифры 3, чтобы получить строку 333.

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

9

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

999999999


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

Определите, равна ли длина отрезка, соединяющего точки S_1 и S_2 пятиугольника P, длине отрезка, соединяющего точки T_1 и T_2.

Ввод

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

Вывод

Если длина отрезка, соединяющего точки S_1 и S_2 пятиугольника P, равна длине отрезка, соединяющего точки T_1 и T_2, выведите Yes; в противном случае выведите No.

Ограничения

- Каждая из S_1, S_2, T_1 и T_2 — это один из символов A, B, C, D и E.
- S_1 \neq S_2
- T_1 \neq T_2

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

AC
EC

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

Yes

Длина отрезка, соединяющего точку A и точку C в P, равна длине отрезка, соединяющего точку E и точку C.

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

DA
EA

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

No

Длина отрезка, соединяющего точку D и точку A в P, не равна длине отрезка, соединяющего точку E и точку A.

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

BD
BD

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

Yes

Правильный пятиугольник P показан на рисунке ниже.

Определите, равна ли длина отрезка прямой, соединяющего точки S_1 и S_2 пятиугольника P, длине отрезка прямой, соединяющего точки T_1 и T_2.

Ввод

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

Вывод

Если длина отрезка прямой, соединяющего точки S_1 и S_2 пятиугольника P, равна длине отрезка прямой, соединяющего точки T_1 и T_2, выведите Yes; в противном случае вывести No.

Ограничения

- Каждый из S_1, S_2, T_1 и T_2 является одним из символов A, B, C, D и E.
- S_1 \neq S_2
- T_1 \neq T_2

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

AC
EC

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

Yes

Длина отрезка линии, соединяющего точку A и точку C в P, равна длине отрезка линии, соединяющего точку E и точку C.

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

DA
EA

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

No

Длина отрезка линии, соединяющего точку D и точку A в P, не равна длине отрезка линии, соединяющего точку E и точку A.

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

BD
BD

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

Yes

Правильный пятиугольник P показан на рисунке ниже.

Определи, равна ли длина отрезка, соединяющего точки S_1 и S_2 пятиугольника P, длине отрезка, соединяющего точки T_1 и T_2.

Ввод

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

Вывод

Если длина отрезка, соединяющего точки S_1 и S_2 пятиугольника P, равна длине отрезка, соединяющего точки T_1 и T_2, выведи Yes; в противном случае выведи No.

Ограничения

- Каждая из S_1, S_2, T_1 и T_2 — один из символов A, B, C, D и E.
- S_1 \neq S_2
- T_1 \neq T_2

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

AC
EC

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

Yes

Длина отрезка, соединяющего точку A и точку C в P, равна длине отрезка, соединяющего точку E и точку C.

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

DA
EA

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

No

Длина отрезка, соединяющего точку D и точку A в P, не равна длине отрезка, соединяющего точку E и точку A.

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

BD
BD

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

Yes


Репьюнит — это целое число, все цифры которого равны 1 в десятичном представлении. Репьюниты в порядке возрастания: 1, 11, 111, \ldots.
Найдите N-ое наименьшее целое число, которое можно выразить как сумму ровно трех репьюнитов.

Ввод

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

Вывод

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

Ограничения

- N — это целое число от 1 до 333 включительно.

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

5

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

113

Целые числа, которые можно выразить как сумму ровно трех репьюнитов, — это 3, 13, 23, 33, 113, \ldots в порядке возрастания. Например, 113 можно выразить как 113 = 1 + 1 + 111.
Обратите внимание, что три репьюнита не обязательно должны быть разными.

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

19

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

2333

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

333

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

112222222233

Репьюнит — это целое число, у которого все цифры равны 1 в десятичной системе. Репьюниты в порядке возрастания: 1, 11, 111, \ldots.
Найдите N-е наименьшее число, которое может быть выражено как сумма точно трех репьюнитов.

Ввод

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

Вывод

Напечатайте ответ.

Ограничения

- N — целое число от 1 до 333 включительно.

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

5

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

113

Числа, которые могут быть выражены как сумма точно трех репьюнитов: 3, 13, 23, 33, 113, \ldots в порядке возрастания. Например, 113 может быть выражено как 113 = 1 + 1 + 111.
Заметьте, что три репьюнита не обязательно должны быть различными.

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

19

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

2333

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

333

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

112222222233


У вас есть дерево с N вершинами: вершина 1, вершина 2, \ldots, вершина N.
i-е ребро (1\leq i\lt N) соединяет вершину u _ i и вершину v _ i.
Рассмотрим возможность повторения следующей операции несколько раз:

- Выберите одну листовую вершину v и удалите её вместе со всеми инцидентными рёбрами.

Найдите минимальное количество операций, необходимых для удаления вершины 1.
Что такое дерево?
Дерево — это неориентированный граф, который является связным и не имеет циклов.
Для получения более подробной информации см. Wikipedia "Tree (graph theory)".

Что такое лист?
Лист в дереве — это вершина со степенью не более 1.

Ввод

Ввод поступает из стандартного ввода в следующем формате:
N
u _ 1 v _ 1
u _ 2 v _ 2
\vdots
u _ {N-1} v _ {N-1}

Вывод

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

Ограничения

- 2\leq N\leq3\times10^5
- 1\leq u _ i\lt v _ i\leq N\ (1\leq i\lt N)
- Данный граф — это дерево.
- Все входные значения — целые числа.

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

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

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

5

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

Например, вы можете выбрать вершины 9,8,7,6,1 в этом порядке, чтобы удалить вершину 1 за пять операций.

Вершина 1 не может быть удалена за четыре или менее операций, поэтому выведите 5.

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

6
1 2
2 3
2 4
3 5
3 6

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

1

В данном графе вершина 1 является листом.
Следовательно, вы можете выбрать и удалить вершину 1 в первой операции.

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

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

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

12

Вам дано дерево с N вершинами: vertex 1, vertex 2, \ldots, vertex N.
i-е ребро(1\leq i\lt N) соединяет vertex u _ i и vertex v _ i.
Попробуйте повторить следующую операцию несколько раз:

- Выберите одну вершину листа v и удалите ее вместе со всеми инцидентными ребрами.

Найдите минимальное количество операций, необходимое для удаления вершины 1.
Что такое дерево?
Дерево это неориентированный график, связный и не имеющий циклов.
Подробнее см.: Wikipedia "Tree (graph theory)".

Что такое лист?
Листом дерева называется вершина со степенью не выше 1.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
N
u _ 1 v _ 1
u _ 2 v _ 2
\vdots
u _ {N-1} v _ {N-1}

Вывод

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

Ограничения

- 2\leq N\leq3\times10^5
- 1\leq u _ i\lt v _ i\leq N\ (1\leq i\lt N)
- Данный график является деревом.
- Все входные значения являются целыми числами.

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

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

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

5

Данный график выглядит следующим образом:

Например, вы можете выбрать вершины 9,8,7,6,1 в этом порядке, чтобы удалить вершину 1 за пять операций.

Вершину 1 невозможно удалить за четыре или меньше операций, поэтому выведите 5.

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

6
1 2
2 3
2 4
3 5
3 6

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

1

В данном графике вершина 1 является листом.
Следовательно, вы можете выбрать и удалить вершину 1 в первой операции.

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

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

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

12


Такаhashi отправится в приключение.
Во время приключения произойдет N событий.
i-е событие (1 \leq i \leq N) представлено парой целых чисел (t _ i, x _ i) (1 \leq t _ i \leq 2, 1 \leq x _ i \leq N) и описывается так:

- Если t _ i=1, он находит одно зелье типа x _ i. Он может выбрать: подобрать его или оставить.
- Если t _ i=2, он встречает монстра типа x _ i. Если у него есть зелье типа x _ i, он может использовать одно, чтобы победить монстра. Если он не побеждает, он будет побежден.

Определите, может ли он победить всех монстров, не будучи побежденным.
Если он не может победить всех монстров, напечатайте -1.
В противном случае, пусть K - максимальное количество зелий, которые у него есть в какой-то момент приключения.
Пусть K _ {\min} - минимальное значение K среди всех стратегий, где он не будет побежден.
Напечатайте значение K _ {\min} и действия Такаhashi, которые достигают K _ {\min}.

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

Входные данные предоставляются в следующем формате:
N
t _ 1 x _ 1
t _ 2 x _ 2
\vdots
t _ N x _ N

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

Если Такаhashi не может победить всех монстров, напечатайте -1.
Если может, напечатайте значение K _ {\min} в первой строке, а во второй строке для каждого i, такого что t _ i=1 в порядке возрастания, напечатайте 1, если он подбирает зелье, найденное на i-м событии, и 0 иначе, разделяя пробелами.
Если несколько последовательностей действий достигают K _ {\min} и позволяют ему завершить приключение без поражения, вы можете напечатать любую из них.

Ограничения

- 1 \leq N \leq 2 \times 10^5
- 1 \leq t _ i \leq 2 \ (1 \leq i \leq N)
- 1 \leq x _ i \leq N \ (1 \leq i \leq N)
- Все входные значения - целые числа.

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

13
1 2
1 3
1 1
1 3
1 2
2 3
1 3
1 3
2 3
1 3
2 2
2 3
2 1

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

3
1 1 1 0 0 1 0 1

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

4
2 3
1 4
2 1
1 2

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

-1

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

30
1 25
1 2
1 10
1 18
2 18
1 11
2 11
1 21
1 6
2 2
2 10
1 11
1 24
1 11
1 3
1 2
1 18
2 25
1 8
1 10
1 11
2 18
2 10
1 10
2 2
1 24
1 10
2 10
1 25
2 6

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

4
1 1 1 1 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0

Такахаши отправится в приключение.
Во время приключения произойдет N событий.
I-е событие (1\leq i\leq N) представлено парой целых чисел (t _ i,x _ i) (1\leq t _ i\leq 2,1\leq x _ i\leq N) и выглядит следующим образом:

- Если t _ i=1, он находит одно зелье типа x _ i. Он может выбрать, подобрать его или выбросить.
- Если t _ i=2, он сталкивается с одним монстром типа x _ i. Если у него есть зелье типа x _ i, он может использовать его, чтобы победить монстра. Если он не победит его, он будет побежден.

Определите, может ли он победить всех монстров, не будучи побежденным.
Если он не может победить всех монстров, выведите -1.
В противном случае пусть K будет максимальным количеством зелий, которые у него есть в какой-то момент приключения.
Пусть K _ {\min} будет минимальным значением K среди всех стратегий, где он не будет побежден.
Выведите значение K _ {\min} и действия Такахаши, которые достигают K _ {\min}.

Ввод

Ввод дается из стандартного ввода в следующем формате:
N
t _ 1 x _ 1
t _ 2 x _ 2
\vdots
t _ N x _ N

Вывод

Если Такахаши не может победить всех монстров, выведите -1.
Если он может, выведите значение K _ {\min} в первой строке, а во второй строке для каждого i, такого что t _ i=1 в порядке возрастания, выведите 1, если он подбирает зелье, найденное в i-м событии, и 0 в противном случае, разделенные пробелами.
Если несколько последовательностей действий достигают K _ {\min} и позволяют ему закончить приключение, не будучи побежденным, вы можете вывести любую из них.

Ограничения

- 1\leq N\leq2\times10^5
- 1\leq t _ i\leq2\ (1\leq i\leq N)
- 1\leq x _ i\leq N\ (1\leq i\leq N)
- Все входные значения являются целыми числами.

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

13
1 2
1 3
1 1
1 3
1 2
2 3
1 3
1 3
2 3
1 3
2 2
2 3
2 1

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

3
1 1 1 0 0 1 0 1

Пример выходных данных соответствует следующим действиям:

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

В этой последовательности действий значение K равно 3.
Нет способа избежать поражения с помощью K\leq 2, поэтому искомое значение K _ {\min} равно 3.
Существует несколько последовательностей действий, которые удовлетворяют K=3 и позволяют ему избежать поражения; вы можете вывести любую из них.

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

4
2 3
1 4
2 1
1 2

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

-1

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

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

30
1 25
1 2
1 10
1 18
2 18
1 11
2 11
1 21
1 6
2 2
2 10
1 11
1 24
1 11
1 3
1 2
1 18
2 25
1 8
1 10
1 11
2 18
2 10
1 10
2 2
1 24
1 10
2 10
1 25
2 6

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

4
1 1 1 1 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0


Такахаси, молодой любитель бейсбола, в этом году вел себя очень хорошо, поэтому Санта решил подарить ему или биту, или перчатку, в зависимости от того, что дороже.
Если бита стоит B йен, а перчатка - G йен (B \neq G), что Санта подарит Такахаси?

Ввод

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

Вывод

Если Санта подарит Такахаси биту, выведите Bat; если перчатку, выведите Glove.

Ограничения

- B и G — различные целые числа от 1 до 1000 включительно.

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

300 100

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

Bat

Бита дороже перчатки, поэтому Санта подарит Такахаси биту.

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

334 343

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

Glove

Перчатка дороже биты, поэтому Санта подарит Такахаси перчатку.

Юный любитель бейсбола Такахаси в этом году вел себя очень хорошо, поэтому Санта решил подарить ему или биту, или перчатку, в зависимости от того, что дороже. Если бита стоит B йен, а перчатка - G йен (B \neq G), что Санта подарит Такахаси?

Ввод

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

Вывод

Если Санта подарит Такахаси биту, выведи Bat; если перчатку, выведи Glove.

Ограничения

- B и G — различные целые числа от 1 до 1000 включительно.

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

300 100

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

Bat

Бита дороже перчатки, поэтому Санта подарит Такахаси биту.

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

334 343

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

Glove

Перчатка дороже биты, поэтому Санта подарит Такахаси перчатку.

Такахаши, молодой любитель бейсбола, в этом году был очень хорошим мальчиком, поэтому Санта решил подарить ему биту или перчатку, в зависимости от того, что дороже.
Если бита стоит B иен, а перчатка стоит G иен (B\neq G), что Санта подарит Такахаши?

Ввод

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

Вывод

Если Санта подарит Такахаши биту, выведите Bat; если Санта подарит ему перчатку, выведите Glove.

Ограничения

- B и G — это разные целые числа от 1 до 1000 включительно.

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

300 100

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

Bat

Бита дороже перчатки, поэтому Санта подарит Такахаши биту.

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

334 343

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

Перчатка

Перчатка дороже биты, поэтому Санта подарит Такахаши перчатку.


На бесконечной дороге на восток и запад координата точки, расположенной на x метров на восток от определённой исходной точки, обозначается как x. В частности, координата точки, расположенной на x метров на запад, обозначается как -x. Снуке установит рождественские ёлки на точках дороги через каждые M метров, начиная с точки с координатой A. Другими словами, он установит ёлку в каждой точке, которая может быть выражена как A+kM для некоторого целого числа k. Такахаси и Аоки стоят в точках с координатами L и R (L\leq R), соответственно. Найдите количество рождественских ёлок, которые будут установлены между Такахаси и Аоки (включая точки, где они стоят).

Ввод

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

Вывод

Выведите количество рождественских ёлок, которые будут установлены между Такахаси и Аоки (включая точки, где они стоят).

Ограничения

- -10^{18}\leq A \leq 10^{18}
- 1\leq M \leq 10^9
- -10^{18}\leq L\leq R \leq 10^{18}
- Все входные значения являются целыми числами.

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

5 3 -1 6

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

3

Снуке установит ёлки в точках с координатами \dots,-4,-1,2,5,8,11,14\dots.
Три из них с координатами -1, 2 и 5 находятся между Такахаси и Аоки.

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

-2 2 1 1

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

0

Иногда Такахаси и Аоки стоят на одной точке.

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

-177018739841739480 2436426 -80154573737296504 585335723211047198

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

273142010859

Есть дорога, которая тянется бесконечно на восток и запад, и координата точки, расположенной в x метрах к востоку от определенной точки отсчета на этой дороге, определяется как x.
В частности, координата точки, расположенной в x метрах к западу от точки отсчета, равна -x.
Снук установит рождественские елки в точках на дороге с интервалом M метров, начиная с точки с координатой A.
Другими словами, он установит рождественскую елку в каждой точке, которая может быть выражена как A+kM с использованием некоторого целого числа k.
Такахаши и Аоки стоят в точках с координатами L и R (L\leq R) соответственно.
Определите количество рождественских елок, которые будут установлены между Такахаши и Аоки (включая точки, где они стоят).

Ввод

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

Вывод

Выведите количество рождественских елок, которые будут установлены между Такахаши и Аоки (включая точки, где они стоят).

Ограничения

- -10^{18}\leq A \leq 10^{18}
- 1\leq M \leq 10^9
- -10^{18}\leq L\leq R \leq 10^{18}
- Все входные значения являются целыми числами.

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

5 3 -1 6

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

3

Snuke установит рождественские елки в точках с координатами \dots,-4,-1,2,5,8,11,14\dots.
Три из них с координатами -1, 2 и 5 находятся между Такахаши и Аоки.

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

-2 2 1 1

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

0

Иногда Такахаши и Аоки стоят в одной точке.

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

-177018739841739480 2436426 -80154573737296504 585335723211047198

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

273142010859


У Такэхаси есть N пар носков, и i-я пара состоит из двух носков цвета i.
Однажды, разбирая свой комод, Такэхаси обнаружил, что потерял по одному носку цветов A_1, A_2, \dots, A_K, поэтому он решил использовать оставшиеся 2N-K носков для создания \lfloor\frac{2N-K}{2}\rfloor новых пар носков, каждая из которых состоит из двух носков.
Странность пары из носка цвета i и носка цвета j определяется как |i-j|, и Такэхаси хочет минимизировать общую странность.
Найдите минимально возможную общую странность при создании \lfloor\frac{2N-K}{2}\rfloor пар из оставшихся носков.
Заметьте, что если 2N-K нечетное, один носок не будет включен ни в одну пару.

Ввод

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

Вывод

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

Ограничения

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

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

4 2
1 3

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

2

Пусть (i,j) обозначает пару из носка цвета i и носка цвета j.
Есть 1, 2, 1, 2 носков цветов 1, 2, 3, 4 соответственно.
Создание пар (1,2),(2,3),(4,4) дает общую странность |1-2|+|2-3|+|4-4|=2, что является минимумом.

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

5 1
2

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

0

Оптимальным решением является создание пар (1,1),(3,3),(4,4),(5,5) и оставление одного носка цвета 2 без пары (не включено ни в одну пару).

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

8 5
1 2 4 7 8

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

2

У Такахаши есть N пар носков, и i-я пара состоит из двух носков цвета i.
Однажды, наведя порядок в комоде, Такахаши понял, что потерял по одному носку каждого цвета A_1, A_2, \dots, A_K, поэтому он решил использовать оставшиеся 2N-K носков, чтобы сделать \lfloor\frac{2N-K}{2}\rfloor новые пары носков, каждая пара которых будет состоять из двух носков.
Странность пары носка цвета i и носка цвета j определяется как |i-j|, и Такахаши хочет минимизировать общую странность.
Найдите минимально возможную общую странность при изготовлении \lfloor\frac{2N-K}{2}\rfloor пар из оставшихся носков.
Обратите внимание, что если 2N-K нечетное, то будет один носок, который не входит ни в одну пару.

Ввод

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

Вывод

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

Ограничения

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

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

4 2
1 3

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

2

Ниже пусть (i,j) обозначают пару носка цвета i и носка цвета j.
Имеется 1, 2, 1, 2 носка цветов 1, 2, 3, 4 соответственно.
Создание пар (1,2),(2,3),(4,4) приводит к общей странности |1-2|+|2-3|+|4-4|=2, что является минимумом.

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

5 1
2

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

0

Оптимальным решением является создание пар (1,1),(3,3),(4,4),(5,5) и оставление одного носка цвета 2 в качестве излишка (не включенного ни в одну пару).

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

8 5
1 2 4 7 8

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

2


Существует N саней с номерами 1,2,\ldots, N.
Для того чтобы тянуть сани i, требуется R_i оленей.
Кроме того, каждый олень может тянуть не более чем одни сани. Более точно, \sum_{k=1}^{m} R_{i_k} оленей требуется, чтобы тянуть m саней i_1, i_2, \ldots, i_m.
Найдите ответ на Q запросов следующего вида:

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

Ввод

Ввод предоставляется в следующем формате:
N Q
R_1 R_2 \ldots R_N
\text{query}_1
\text{query}_2
\vdots
\text{query}_Q

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

Вывод

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

Ограничения

- 1 \leq N, Q \leq 2 \times 10^5
- 1 \leq R_i \leq 10^9
- 1 \leq X \leq 2 \times 10^{14}
- Все входные значения — целые числа.

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

4 3
5 3 11 8
16
7
1000

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

3
1
4

Когда есть 16 оленей, могут быть тянуты сани 1,2,4.
Невозможно тянуть четыре сани с 16 оленями, поэтому ответ на запрос 1 — 3.

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

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

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

1
1
2
2
2
3

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

2 2
1000000000 1000000000
200000000000000
1

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

2
0

Имеется N саней с номерами 1,2,\ldots, N.
R_i олени должны тянуть сани i.
Кроме того, каждый олень может тянуть не более одной сани. Точнее, требуется \sum_{k=1}^{m} R_{i_k} оленей, чтобы тянуть m саней i_1, i_2, \ldots, i_m.
Найдите ответ на Q запросы следующего вида:

- Вам дано целое число X. Определите максимальное количество саней, которые можно затащить при наличии X оленей.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
N Q
R_1 R_2 \ldots R_N
\text{query}_1
\text{query}_2
\vdots
\text{query}_Q

Каждый запрос задается в следующем формате:
Х

Вывод

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

Ограничения

- 1 \leq N, Q \leq 2 \times 10^5
- 1 \leq R_i \leq 10^9
- 1 \leq X \leq 2 \times 10^{14}
- Все входные значения являются целыми числами.

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

4 3
5 3 11 8
16
7
1000

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

3
1
4

Когда оленей 16, можно тащить 1,2,4 сани.
Невозможно тянуть четверо саней с 16 оленями, поэтому ответ на вопрос 1 это 3.

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

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

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

1
1
2
2
2
3

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

2 2
1000000000 1000000000
200000000000000
1

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

2
0


Эта задача имеет аналогичные условия с задачей G. Отличия в условии указаны красным.
Дана сетка с H строками и W столбцами, где каждая ячейка окрашена в красный или зелёный.
Пусть (i,j) обозначает ячейку в i-й строке сверху и j-м столбце слева.
Цвет ячейки (i,j) представлен символом S_{i,j}, где S_{i,j} = . означает, что ячейка (i,j) красная, а S_{i,j} = # означает, что ячейка (i,j) зелёная.
Количество зелёных связанных компонент в сетке — это количество связанных компонент в графе с множеством вершин, состоящим из зелёных ячеек, и множеством рёбер, состоящим из рёбер, соединяющих две соседние зелёные ячейки. Здесь две ячейки (x,y) и (x',y') считаются соседними, если |x-x'| + |y-y'| = 1.
Рассмотрим случайный выбор одной красной ячейки и её перекрашивание в зелёный. Выведите ожидаемое количество зелёных связанных компонент в сетке после перекрашивания, по модулю 998244353.

Что значит "вывести ожидаемое значение по модулю 998244353"?
Можно доказать, что искомое ожидаемое значение всегда рационально.
Более того, ограничения этой задачи гарантируют, что если это значение выражено как \frac{P}{Q} с использованием двух взаимно простых целых чисел P и Q, то существует ровно одно целое число R, такое что R \times Q \equiv P \pmod{998244353} и 0 \leq R < 998244353. Выведите это R.

Ввод

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

Вывод

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

Ограничения

- 1 \leq H,W \leq 1000
- S_{i,j} = . или S_{i,j} = #.
- Существует хотя бы один (i,j) такой, что S_{i,j} = ..

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

3 3
##.
#.#
#..

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

499122178

Если ячейка (1,3) перекрашена в зелёный, количество зелёных связанных компонент становится 1.
Если ячейка (2,2) перекрашена в зелёный, количество зелёных связанных компонент становится 1.
Если ячейка (3,2) перекрашена в зелёный, количество зелёных связанных компонент становится 2.
Если ячейка (3,3) перекрашена в зелёный, количество зелёных связанных компонент становится 2.
Таким образом, ожидаемое значение количества зелёных связанных компонент после случайного выбора одной красной ячейки и её перекрашивания в зелёный составляет (1+1+2+2)/4 = 3/2.

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

4 5
..#..
.###.
#####
..#..

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

598946613

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

3 4
#...
.#.#
..##

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

285212675

Эта задача имеет аналогичные условия с задачей G. Отличия в условии указаны красным.
Дана сетка с H строками и W столбцами, где каждая ячейка окрашена в красный или зелёный.
Пусть (i,j) обозначает ячейку в i-й строке сверху и j-м столбце слева.
Цвет ячейки (i,j) представлен символом S_{i,j}, где S_{i,j} = . означает, что ячейка (i,j) красная, а S_{i,j} = # означает, что ячейка (i,j) зелёная.
Количество зелёных связанных компонент в сетке — количество связанных компонент в графе с множеством вершин, состоящим из зелёных ячеек, и множеством рёбер, состоящим из рёбер, соединяющих две соседние зелёные ячейки. Здесь две ячейки (x,y) и (x',y') считаются соседними, если |x-x'| + |y-y'| = 1.
Рассмотрим случайный выбор одной красной ячейки и её перекрашивание в зелёный. По модулю 998244353 выведи ожидаемое количество зелёных связанных компонент в сетке после перекрашивания.

Что значит "вывести ожидаемое значение по модулю 998244353"?
Можно доказать, что искомое ожидаемое значение всегда рационально.
Более того, ограничения этой задачи гарантируют, что если это значение выражено как \frac{P}{Q} с использованием двух взаимно простых целых чисел P и Q, то существует ровно одно целое число R, где R \times Q \equiv P \pmod{998244353} и 0 \leq R < 998244353. Выведи это R.

Ввод

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

Вывод

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

Ограничения

- 1 \leq H,W \leq 1000
- S_{i,j} = . или S_{i,j} = #.
- Существует по крайней мере один (i,j) где S_{i,j} = ..

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

3 3
##.
#.#
#..

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

499122178

Если ячейка (1,3) перекрашена в зелёный, количество зелёных связанных компонент становится равно 1.
Если ячейка (2,2) перекрашена в зелёный, количество зелёных связанных компонент становится равно 1.
Если ячейка (3,2) перекрашена в зелёный, количество зелёных связанных компонент становится равно 2.
Если ячейка (3,3) перекрашена в зелёный, количество зелёных связанных компонент становится равно 2.
Таким образом, ожидаемое значение количества зелёных связанных компонент после случайного выбора одной красной ячейки и её перекрашивания в зелёный составляет (1+1+2+2)/4 = 3/2.

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

4 5
..#..
.###.
#####
..#..

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

598946613

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

3 4
#...
.#.#
..##

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

285212675

Эта задача имеет схожую постановку с задачей G. Различия в постановке задачи обозначены красным цветом.
Имеется сетка с H строками и W столбцами, где каждая ячейка окрашена в красный или зеленый цвет.
Пусть (i,j) обозначает ячейку в i-й строке сверху и j-м столбце слева.
Цвет ячейки (i,j) представлен символом S_{i,j}, где S_{i,j} = . означает, что ячейка (i,j) красная, а S_{i,j} = # означает, что ячейка (i,j) зеленая.
Количество зеленых связных компонентов в сетке — это количество связных компонентов в графе, в котором множество вершин — это зеленые ячейки, а множество ребер — это ребра, соединяющие две соседние зеленые ячейки. Здесь две ячейки (x,y) и (x',y') считаются смежными, когда |x-x'| + |y-y'| = 1.
Рассмотрим случайный выбор одной красной ячейки равномерно и перекраску ее в зеленый цвет. Вывести ожидаемое значение количества зеленых связных компонентов в сетке после перерисовки по модулю 998244353.

Что означает «вывести ожидаемое значение по модулю 998244353»?
Можно доказать, что искомое ожидаемое значение всегда рационально.
Более того, ограничения этой задачи гарантируют, что если это значение выражено как \frac{P}{Q} с использованием двух взаимно простых целых чисел P и Q, то существует ровно одно целое число R такое, что R \times Q \equiv P \pmod{998244353} и 0 \leq R < 998244353. Выведите это R.

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

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

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

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

Ограничения

- 1 \leq H,W \leq 1000
- S_{i,j} = . или S_{i,j} = #.
- Существует по крайней мере один (i,j), такой что S_{i,j} = ..

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

3 3
##.
#.#
#..

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

499122178

Если ячейка (1,3) перекрашена в зеленый цвет, количество зеленых связанных компонентов становится 1.
Если ячейка (2,2) перекрашена в зеленый цвет, количество зеленых связанных компонентов становится 1.
Если ячейка (3,2) перекрашена в зеленый цвет, количество зеленых связанных компонентов становится 2.
Если ячейка (3,3) перекрашена в зеленый цвет, количество зеленых связанных компонентов становится 2.
Следовательно, ожидаемое значение количества зеленых связанных компонентов после выбора одной красной ячейки случайным образом и ее перекрашивания в зеленый цвет составляет (1+1+2+2)/4 = 3/2.

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

4 5
..#..
.###.
#####
..#..

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

598946613

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

3 4
#...
.#.#
..##

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

285212675


Дана строка S, состоящая из строчных букв английского алфавита и цифр. Гарантируется, что S заканчивается на 2023. Замените последний символ S на 4 и выведите изменённую строку.

Ввод

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

Вывод

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

Ограничения

- S — строка длиной от 4 до 100 включительно, состоящая из строчных букв английского алфавита и цифр.
- S заканчивается на 2023.

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

hello2023

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

hello2024

Замена последнего символа в hello2023 на 4 даёт hello2024.

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

worldtourfinals2023

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

worldtourfinals2024

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

2023

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

2024

Гарантируется, что S заканчивается на 2023, возможно, это будет 2023 само по себе.

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

20232023

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

20232024

Вам дана строка, состоящую из строчных английских букв и цифр.
S гарантированно закончится 2023.
Измените последний символ S на 4 и распечатайте измененную строку.

Вход

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

Выход

Распечатать ответ.

Ограничения

- S — это строка длиной от 4 до 100 символов, включительно, состоящая из строчных английских букв и цифр.
- S заканчивается с 2023.

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

Привет2023

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

Привет2024

Изменение последнего символа Hello2023 на 4 дает Привет2024.

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

Финал мирового тура2023

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

Финал мирового тура2024

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

2023

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

2024

S гарантированно заканчивается на 2023, возможно, сама строка 2023.

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

20232023

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

20232024

Вам дана строка S, состоящая из строчных английских букв и цифр.
S гарантированно закончится на 2023.
Измените последний символ S на 4 и выведите измененную строку.

Input

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

Output

Print the answer.

Constraints

- S is a string of length between 4 and 100, inclusive, consisting of lowercase English letters and digits.
- S ends with 2023.

Sample Input 1

hello2023

Sample Output 1

hello2024

Changing the last character of hello2023 to 4 yields hello2024.

Sample Input 2

worldtourfinals2023

Sample Output 2

worldtourfinals2024

Sample Input 3

2023

Sample Output 3

2024

S is guaranteed to end with 2023, possibly being 2023 itself.

Sample Input 4

20232023

Sample Output 4

20232024


Вам задано целое число N.
Выведите все тройки неотрицательных целых чисел (x, y, z) такие, что x+y+z \leq N в лексикографическом порядке по возрастанию.

Что такое лексикографический порядок для троек неотрицательных целых чисел?

Тройка неотрицательных целых чисел (x, y, z) считается лексикографически меньшей, чем (x', y', z'), если выполнено одно из следующих условий:

- x < x';
- x=x' и y< y';
- x=x' и y=y' и z< z'.

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

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

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

Выведите все тройки неотрицательных целых чисел (x, y, z) такие, что x+y+z \leq N в лексикографическом порядке по возрастанию, с разделением x, y, z пробелами, по одной тройке на строку.

Ограничения

- 0 \leq N \leq 21
- N является целым числом.

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

3

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

0 0 0
0 0 1
0 0 2
0 0 3
0 1 0
0 1 1
0 1 2
0 2 0
0 2 1
0 3 0
1 0 0
1 0 1
1 0 2
1 1 0
1 1 1
1 2 0
2 0 0
2 0 1
2 1 0
3 0 0

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

4

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

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

Вам дано целое число N.
Выведите все тройки целых неотрицательных чисел (x,y,z) такие, что x+y+z\leq N в возрастающем лексикографическом порядке.
 Каков лексикографический порядок неотрицательных целочисленных троек?

Тройка неотрицательных целых чисел (x,y,z) называется лексикографически меньшей, чем (x',y',z') тогда и только тогда, когда выполняется одно из следующих условий:

- x < x';
- x=x' and y< y';
- x=x' and y=y' and z< z'.

Ввод

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

Вывод

Выведите все тройки неотрицательных целых чисел(x,y,z) такие, что x+y+z\leq N в возрастающем лексикографическом порядке, где x,y,z разделены пробелами, по одной тройке в строке.

Ограничения

- 0 \leq N \leq 21
- N это целое число.

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

3

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

0 0 0
0 0 1
0 0 2
0 0 3
0 1 0
0 1 1
0 1 2
0 2 0
0 2 1
0 3 0
1 0 0
1 0 1
1 0 2
1 1 0
1 1 1
1 2 0
2 0 0
2 0 1
2 1 0
3 0 0

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

4

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

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


Такахаши создал игру, в которой игрок управляет драконом на координатной плоскости.
Дракон состоит из N частей, пронумерованных от 1 до N, причем часть 1 называется головой.
Изначально часть i находится в координатах (i,0). Обработайте запросы Q следующим образом.

- 1 C: Переместить голову на 1 в направлении C. Здесь C — это одно из R, L, U и D, которые представляют положительное направление x, отрицательное направление x, положительное направление y и отрицательное направление y соответственно. Каждая часть, кроме головы, перемещается, следуя за частью перед ней. То есть часть i (2\leq i \leq N) перемещается в координаты, где была часть i-1 до перемещения.
- 2 p: Найти координаты части p.

Ввод

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

Каждый запрос имеет один из следующих двух форматов:
1 C

2 p

Вывод

Выведите q строк, где q — количество запросов второго типа.
i-я строка должна содержать x и y, разделенные пробелом, где (x,y) — ответ на i-й такой запрос.

Ограничения

- 2 \leq N \leq 10^6
- 1 \leq Q \leq 2\times 10^5
- Для первого типа запроса C — одно из значений R, L, U и D.
- Для второго типа запроса,1\leq p \leq N.
- Все числовые входные значения являются целыми числами.

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

5 9
2 3
1 U
2 3
1 R
1 D
2 3
1 L
2 1
2 5

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

3 0
2 0
1 1
1 0
1 0

В каждый момент времени при обработке второго типа запроса детали находятся в следующих позициях:

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

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

- 1 C: Переместите голову на 1 в направлении C. Здесь C это один из R, L, U, и D, которые представляют положительное направление x, отрицательное направление x, положительное направление y и отрицательное направление y, соответственно. Каждая часть, кроме головы, движется, следуя за частью перед ней. То есть часть i (2\leq i \leq N) перемещается в координаты, где часть i-1 находилась до перемещения.
- 2 р: Найдите координаты детали р.

Ввод

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

Каждый запрос имеет один из следующих двух форматов:
1 C

2 p

Вывод

Выведите q строк, где q это количество запросов второго типа.
В i-й строке должны быть указаны x и y через пробел, где (x,y) это ответ на i-й такой запрос.

Ограничения

- 2 \leq N \leq 10^6
- 1 \leq Q \leq 2\times 10^5
- Для первого типа запроса C является одним из R, L, U, и D.
- Для второго типа запроса, 1\leq p \leq N.
- Все числовые входные значения являются целыми числами.

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

5 9
2 3
1 U
2 3
1 R
1 D
2 3
1 L
2 1
2 5

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

3 0
2 0
1 1
1 0
1 0

В каждый момент времени при обработке второго типа запроса детали находятся на следующих позициях:

Обратите внимание, что в одних и тех же координатах может существовать несколько частей.

У Такахаси есть игра, где игрок управляет драконом на координатной плоскости.
Дракон состоит из N частей, пронумерованных от 1 до N, причем часть 1 называется головой.
Изначально, часть i находится на координатах (i,0). Обработайте Q запросов следующим образом.

- 1 C: Переместите голову на 1 в направлении C. Здесь C – это одно из R, L, U и D, которые представляют положительное направление оси x, отрицательное направление оси x, положительное направление оси y и отрицательное направление оси y соответственно. Каждая часть, кроме головы, перемещается, чтобы следовать за частью перед ней. То есть, часть i (2\leq i \leq N) перемещается на координаты, где находилась часть i-1 до перемещения.
- 2 p: Найдите координаты части p.

Ввод

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

Каждый запрос имеет один из следующих двух форматов:
1 C

2 p

Вывод

Выведите q строк, где q — количество запросов второго типа.
i-я строка должна содержать x и y, разделенные пробелом, где (x,y) – это ответ на i-й такой запрос.

Ограничения

- 2 \leq N \leq 10^6
- 1 \leq Q \leq 2\times 10^5
- Для первого типа запроса, C — это одно из R, L, U и D.
- Для второго типа запроса, 1\leq p \leq N.
- Все числовые значения ввода являются целыми числами.

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

5 9
2 3
1 U
2 3
1 R
1 D
2 3
1 L
2 1
2 5

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

3 0
2 0
1 1
1 0
1 0

В каждый момент времени, когда обрабатывается запрос второго типа, части находятся на следующих позициях:

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


На сетке с N строками и N столбцами, где N — нечетное число, не большее 45, пусть (i,j) обозначает ячейку в i-й строке сверху и j-м столбце слева. На этой сетке вам нужно разместить Такахаси и дракона, состоящего из N^2-1 частей, пронумерованных от 1 до N^2-1, таким образом, чтобы выполнялись следующие условия:

- Такахаси должен быть размещен в центре сетки, то есть в ячейке (\frac{N+1}{2},\frac{N+1}{2}).
- За исключением ячейки, где находится Такахаси, в каждой ячейке нужно разместить ровно одну часть дракона.
- Для каждого целого числа x, удовлетворяющего 2 \leq x \leq N^2-1, часть дракона x должна быть размещена в ячейке, соседствующей по краю с ячейкой, содержащей часть x-1.
- Ячейки (i,j) и (k,l) считаются соседними по краю, если |i-k|+|j-l|=1.

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

Вход

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

Выход

Выведите N строк.
i-я строка должна содержать X_{i,1},\ldots,X_{i,N}, разделенные пробелами, где X_{i,j} — это T при размещении Такахаси в ячейке (i,j) и x при размещении части x там.

Ограничения

- 3 \leq N \leq 45
- N нечетное.

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

5

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

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

Следующий вывод также удовлетворяет всем условиям и правильный.
9 10 11 14 15
8 7 12 13 16
5 6 T 18 17
4 3 24 19 20
1 2 23 22 21

С другой стороны, следующие выводы неверны по указанным причинам.
Такахаси не в центре.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 T

Ячейки, содержащие части 23 и 24, не являются соседними по краю.
1 2 3 4 5
10 9 8 7 6
11 12 24 22 23
14 13 T 21 20
15 16 17 18 19

Есть сетка с N строками и N столбцами, где N — нечетное число, не превышающее 45.
Пусть (i,j) обозначает ячейку в i-й строке сверху и j-м столбце слева.
В этой сетке вы разместите Такахаши и дракона, состоящего из N^2-1 частей, пронумерованных от 1 до N^2-1, таким образом, чтобы выполнялись следующие условия:

- Такахаши должен быть помещен в центр сетки, то есть в ячейку (\frac{N+1}{2},\frac{N+1}{2}).
- За исключением ячейки, где находится Такахаши, ровно одна часть дракона должна быть размещена в каждой ячейке.
- Для каждого целого числа x, удовлетворяющего 2 \leq x \leq N^2-1, часть дракона x должна быть размещена в ячейке, смежной ребром с ячейкой, содержащей часть x-1.
- Ячейки (i,j) и (k,l) считаются смежными по краю тогда и только тогда, когда |i-k|+|j-l|=1.

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

Ввод

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

Вывод

Выведите N строк.
i-я строка должна содержать X_{i,1},\ldots,X_{i,N}, разделенных пробелами, где X_{i,j} — это T при размещении Такахаши в ячейке (i,j) и x при размещении там детали x.

Ограничения

- 3 \leq N \leq 45
- N — нечетное число.

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

5

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

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

Следующий вывод также удовлетворяет всем условиям и является правильным.
9 10 11 14 15
8 7 12 13 16
5 6 T 18 17
4 3 24 19 20
1 2 23 22 21

С другой стороны, следующие выводы неверны по указанным причинам.
Такахаши не в центре.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 T

Ячейки, содержащие части 23 и 24, не являются смежными по ребру.
1 2 3 4 5
10 9 8 7 6
11 12 24 22 23
14 13 T 21 20
15 16 17 18 19

На сетке с N строками и N столбцами, где N — нечетное число, не большее 45, пусть (i,j) обозначает ячейку в i-й строке сверху и j-м столбце слева. На этой сетке вам нужно разместить Такахаси и дракона, состоящего из N^2-1 частей, пронумерованных от 1 до N^2-1, таким образом, чтобы выполнялись следующие условия:

- Такахаси должен быть размещен в центре сетки, то есть в ячейке (\frac{N+1}{2},\frac{N+1}{2}).
- За исключением ячейки, где находится Такахаси, в каждой ячейке нужно разместить ровно одну часть дракона.
- Для каждого целого числа x, удовлетворяющего 2 \leq x \leq N^2-1, часть дракона x должна быть размещена в ячейке, соседствующей по краю с ячейкой, содержащей часть x-1.
- Ячейки (i,j) и (k,l) считаются соседними по краю, если |i-k|+|j-l|=1.

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

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

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

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

Выведите N строк.
i-я строка должна содержать X_{i,1},\ldots,X_{i,N}, разделенные пробелами, где X_{i,j} — это T при размещении Такахаси в ячейке (i,j) и x при размещении части x там.

Ограничения

- 3 \leq N \leq 45
- N нечетное.

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

5

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

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

Следующий вывод также удовлетворяет всем условиям и правильный.
9 10 11 14 15
8 7 12 13 16
5 6 T 18 17
4 3 24 19 20
1 2 23 22 21

С другой стороны, следующие выводы неверны по указанным причинам.
Такахаси не в центре.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 T

Ячейки, содержащие части 23 и 24, не являются соседними по краю.
1 2 3 4 5
10 9 8 7 6
11 12 24 22 23
14 13 T 21 20
15 16 17 18 19


Для положительного целого числа X, Драконья Строка уровня X — это строка длиной (X+3), состоящая из одной L, X вхождений o, одной n и одной g, расположенных в этом порядке.
Вам дается положительное целое число N. Напечатайте Драконью Строку уровня N.
Обратите внимание, что заглавные и строчные буквы различаются.

Ввод

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

Вывод

Напечатайте Драконью Строку уровня N.

Ограничения

- 1 \leq N \leq 2024
- N — целое число.

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

3

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

Looong

Расположение одной L, трех o, одной n и одной g в этом порядке дает Looong.

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

1

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

Long

Для положительного целого числа X строка Dragon уровня X — это строка длины (X+3), образованная одним L, X вхождениями o, одним n и одним g в указанном порядке.

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

Ввод

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

Вывод

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

Ограничения

- 1 \leq N \leq 2024
- N целое число.

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

3

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

Looong

Расположение одного L, трёх os, одного n и одного g в указанном порядке дает Looong.

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

1

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

Long

Для положительного целого числа X, Драконья Строка уровня X — это строка длиной (X+3), состоящая из одной L, X вхождений o, одной n и одной g, расположенных в этом порядке.
Вам дается положительное целое число N. Напечатайте Драконью Строку уровня N.
Обратите внимание, что заглавные и строчные буквы различаются.

Ввод

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

Вывод

Напечатайте Драконью Строку уровня N.

Ограничения

- 1 \leq N \leq 2024
- N — целое число.

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

3

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

Looong

Расположение одной L, трех o, одной n и одной g в этом порядке дает Looong.

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

1

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

Long


Для положительного целого числа X пусть \text{ctz}(X) будет (максимальным) числом последовательных нулей в конце двоичной записи X.
Если двоичная запись X заканчивается на 1, то \text{ctz}(X)=0.

Вам дано положительное целое число N. Выведите \text{ctz}(N).

Ввод

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

Вывод

Выведите \text{ctz}(N).

Ограничения

- 1\leq N\leq 10^9
- N — целое число.

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

2024

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

3

2024 — это 11111101000 в двоичной форме с тремя последовательными нулями с конца, поэтому \text{ctz}(2024)=3.
Таким образом, выведите 3.

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

18

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

1

18 — это 10010 в двоичном формате, поэтому \text{ctz}(18)=1.
Обратите внимание, что мы считаем конечные нули.

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

5

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

0

Для положительного целого числа x, пусть \text {ctz} (x) будет (максимально) количество последовательных нулей в конце бинарной нотации x.
Если двоичная нотация x заканчивается на 1, то \text {ctz} (x) = 0.
Вам дано положительное целое число N. Выведите \text{ctz}(N).

Вход

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

Выход

Напечатайте \text{ctz}(N).

Ограничения

- 1 \leq N \leq 10^9
- N - целое число.

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

2024

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

3

2024 - 11111101000 в двоичном, с тремя последовательными 0 с конца, поэтому \text {ctz} (2024) = 3.
Таким образом, печать 3.

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

18

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

1

18 - 10010 в двоичном, так что \text {ctz} (18) = 1.
Обратите внимание, что мы считаем конечные нули.

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

5

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

0

Для положительного целого числа X пусть \text{ctz}(X) (максимальное) количество последовательных нулей в конце двоичной записи X.
Если двоичная запись X заканчивается на 1, то \text{ctz}(X)=0.
Вам дано целое положительное число N. Выведите \text{ctz}(N).

Ввод

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

Вывод

Выведите \text{ctz}(N).

Ограничения

- 1\leq N\leq 10^9
- N целое число.

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

2024

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

3

2024 это 11111101000 в двоичном формате, с тремя последовательными нулями в конце, поэтому \text{ctz}(2024)=3.
Таким образом, выведите 3.

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

18

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

1

18это 10010 в двоичном формате, поэтому \text{ctz}(18)=1.
Обратите внимание, что мы считаем конечные нули.

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

5

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

0


Неотрицательное целое число n называется хорошим числом, если оно удовлетворяет следующему условию:

- Все цифры в десятичной записи n являются четными числами (0, 2, 4, 6 и 8).

Например, 0, 68 и 2024 — это хорошие числа.
Вам дано целое число N. Найдите N-е наименьшее хорошее целое число.

Ввод

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

Вывод

Выведите N-е по величине хорошее число.

Ограничения

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

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

8

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

24

Хорошие числа в порядке возрастания: 0, 2, 4, 6, 8, 20, 22, 24, 26, 28, \dots.
Восьмое наименьшее число — 24, которое должно быть выведено.

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

133

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

2024

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

31415926535

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

2006628868244228

Неотрицательное целое число n называется хорошим целым числом, когда он удовлетворяет следующее условие:

- Все цифры в десятичной записи n - четные числа (0, 2, 4, 6 и 8).

Например, 0, 68 и 2024 являются хорошими целыми числами.
Вам дается целое число N. Найдите N-е наименьшее хорошее целое число.

Вход

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

Выход

Выведите N-е наименьшее хорошее целое число.

Ограничения

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

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

8

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

24

Хорошие целые числа в порядке возрастания - 0, 2, 4, 6, 8, 20, 22, 24, 26, 28, \ точки.
Восьмой самый маленький - 24, который должен быть напечатан.

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

133

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

2024

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

31415926535

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

2006628868244228

Неотрицательное целое число n называется хорошим целым числом, если оно удовлетворяет следующему условию:

- Все цифры в десятичной системе счисления n являются четными числами (0, 2, 4, 6 и 8).

Например, 0, 68 и 2024 — хорошие целые числа.
Вам дано целое число N. Найдите N-е наименьшее хорошее целое число.

Ввод

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

Выпуск

Выведите N-е наименьшее хорошее целое число.

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

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

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

8

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

24

Хорошие целые числа в порядке возрастания: 0, 2, 4, 6, 8, 20, 22, 24, 26, 28, \dots.
Восьмой самый маленький – 24, который должен быть напечатан.

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

133

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

2024

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

31415926535

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

2006628868244228


Для положительного целого числа k, Пирамидальная Последовательность размера k — это последовательность длины (2k-1), где члены последовательности имеют значения 1,2,\ldots,k-1,k,k-1,\ldots,2,1 в этом порядке.
Вам дана последовательность A=(A_1,A_2,\ldots,A_N) длины N. Найдите максимальный размер Пирамидальной Последовательности, который можно получить, многократно выбирая и выполняя одну из следующих операций над A (возможно, ноль раз).

- Выберите один член последовательности и уменьшите его значение на 1.
- Удалите первый или последний член.

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

Ввод

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

Вывод

Выведите максимальный размер Пирамидальной Последовательности, который можно получить, выполняя описанные в условии задачи операции над последовательностью A.

Ограничения

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

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

5
2 2 3 1 1

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

2

Начав с A=(2,2,3,1,1), вы можете создать Пирамидальную Последовательность размера 2 следующим образом:

- Выберите третий член и уменьшите его на 1. Последовательность становится A=(2,2,2,1,1).
- Удалите первый член. Последовательность становится A=(2,2,1,1).
- Удалите последний член. Последовательность становится A=(2,2,1).
- Выберите первый член и уменьшите его на 1. Последовательность становится A=(1,2,1).

(1,2,1) — это Пирамидальная Последовательность размера 2. В то же время, нет способа выполнить операции, чтобы создать Пирамидальную Последовательность размера 3 или больше, поэтому вы должны вывести 2.

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

5
1 2 3 4 5

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

3

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

1
1000000000

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

1

Для положительного целого числа k пирамидальная последовательность размера k — это последовательность длины (2k-1), где члены последовательности имеют значения 1,2,\ldots,k-1,k,k-1,\ldots,2,1 в этом порядке.

Вам дана последовательность A=(A_1,A_2,\ldots,A_N) длины N.
Найдите максимальный размер пирамидальной последовательности, которую можно получить, многократно выбирая и выполняя одну из следующих операций над A (возможно, ноль раз).

- Выберите один член последовательности и уменьшите его значение на 1.
- Удалите первый или последний член.

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

Ввод

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

Вывод

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

Ограничения

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

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

5
2 2 3 1 1

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

2

Начиная с A=(2,2,3,1,1), вы можете создать последовательность пирамиды размером 2 следующим образом:

- Выберите третий член и уменьшите его на 1. Последовательность станет A=(2,2,2,1,1).
- Удалите первый член. Последовательность станет A=(2,2,1,1).
- Удалите последний член. Последовательность становится A=(2,2,1).
- Выберите первый член и уменьшите его на 1. Последовательность становится A=(1,2,1).

(1,2,1) — это последовательность пирамиды размером 2.
С другой стороны, нет способа выполнить операции для создания последовательности пирамиды размером 3 или больше, поэтому следует вывести 2.

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

5
1 2 3 4 5

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

3

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

1
1000000000

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

1