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

Найдите количество по модулю 998244353 строк, состоящих из заглавных английских букв длиной от 1 до K включительно, которые удовлетворяют следующим условиям:

- Для каждого целого числа i, удовлетворяющего 1 \leq i \leq 26, выполняется следующее:
- Пусть a_i будет i-й заглавной английской буквой в лексикографическом порядке. Например, a_1 = A, a_5 = E, a_{26} = Z.
- Количество вхождений a_i в строке находится между 0 и C_i включительно.

Ввод

Ввод дается из стандартного ввода в следующем формате:
K
C_1 C_2 \ldots C_{26}

Вывод

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

Ограничения

- 1 \leq K \leq 1000
- 0 \leq C_i \leq 1000
- Все входные значения являются целыми числами.

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

2
2 1 1 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

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

10

10 строк, удовлетворяющих условиям, это A, B, C, AA, AB, AC, BA, BC, CA, CB.

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

358
1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

64

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

1000
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

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

270274035

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

По модулю 998244353 найди количество строк, состоящих из заглавных английских букв длиной от 1 до K включительно, которые удовлетворяют следующим условиям:

- Для каждого целого числа i, удовлетворяющего 1 \leq i \leq 26, выполняется следующее:
- Пусть a_i — i-я заглавная английская буква в лексикографическом порядке. Например, a_1 =  A, a_5 =  E, a_{26} =  Z.
- Количество вхождений a_i в строку находится в пределах от 0 до C_i включительно.

Ввод

Ввод осуществляется посредством стандартного ввода в следующем формате:
K
C_1 C_2 \ldots C_{26}

Вывод

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

Ограничения

- 1 \leq K \leq 1000
- 0 \leq C_i \leq 1000
- Все входные значения — целые числа.

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

2
2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

10

10 строк, удовлетворяющих условиям: A, B, C, AA, AB, AC, BA, BC, CA, CB.

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

358
1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

64

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

1000
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

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

270274035

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

Найдите количество строк, состоящих из заглавных английских букв длиной от 1 до K включительно, которые удовлетворяют следующим условиям, по модулю 998244353:

- Для каждого целого числа i, удовлетворяющего 1 \leq i \leq 26, выполняется следующее:
- Пусть a_i - это i-я заглавная английская буква в лексикографическом порядке. Например, a_1 =  A, a_5 =  E, a_{26} =  Z.
- Количество вхождений a_i в строку находится в пределах от 0 до C_i включительно.

Ввод

Ввод поступает со стандартного ввода в следующем формате:
K
C_1 C_2 \ldots C_{26}

Вывод

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

Ограничения

- 1 \leq K \leq 1000
- 0 \leq C_i \leq 1000
- Все входные значения - целые числа.

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

2
2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

10

10 строк, удовлетворяющих условиям: A, B, C, AA, AB, AC, BA, BC, CA, CB.

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

358
1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

64

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

1000
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

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

270274035


В стране AtCoder есть N киосков с попкорном, пронумерованных от 1 до N. В них есть M различных вкусов попкорна, помеченных 1, 2, \dots, M, но не в каждом киоске продаются все вкусы попкорна.
Такахаши получил информацию о том, какие вкусы попкорна продаются в каждом киоске. Эта информация представлена N строками S_1, S_2, \dots, S_N длиной M. Если j-й символ S_i — o, это означает, что киоск i продает вкус j попкорна. Если это x, это означает, что киоск i не продает вкус j. В каждом киоске продается по крайней мере один вкус попкорна, и каждый вкус попкорна продается по крайней мере в одном киоске.
Такахаши хочет попробовать все вкусы попкорна, но не хочет слишком много передвигаться. Определите минимальное количество киосков, которые Такахаши должен посетить, чтобы купить все вкусы попкорна.

Ввод

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

Вывод

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

Ограничения

- N и M — целые числа.
- 1 \leq N, M \leq 10
- Каждое S_i — это строка длины M, состоящая из o и x.
- Для каждого i (1 \leq i \leq N) есть по крайней мере одно o в S_i.
- Для каждого j (1 \leq j \leq M) есть по крайней мере одно i, такое что j-й символ S_i — o.

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

3 5
oooxx
xooox
xxooo

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

2

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

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

3 2
oo
ox
xo

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

1

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

8 6
xxoxxo
xxoxxx
xoxxxx
xxxoxx
xxoooo
xxxxox
xoxxox
oxoxxo

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

3

В AtCoder Land есть N киосков с попкорном, пронумерованных от 1 до N. У них есть M различных вкусов попкорна, обозначенных 1, 2, \dots, M, но не каждый киоск продает все вкусы попкорна.
Такахаcи получил информацию о том, какие вкусы попкорна продаются в каждом киоске. Эта информация представлена в виде N строк S_1, S_2, \dots, S_N длиной M. Если j-й символ S_i равен o, это означает, что киоск i продает вкус j попкорна.
Если это x, это означает, что киоск i не продает вкус j. Каждый киоск продает хотя бы один вкус попкорна, и каждый вкус попкорна продается хотя бы в одном киоске.
Такахаcи хочет попробовать все вкусы попкорна, но не хочет слишком много передвигаться. Определите минимальное количество киосков, которые должен посетить Такахаcи, чтобы купить все вкусы попкорна.

Ввод

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

Вывод

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

Ограничения

- N и M — целые числа.
- 1 \leq N, M \leq 10
- Каждое S_i — строка длиной M, состоящая из o и x.
- Для каждого i (1 \leq i \leq N) в S_i есть по крайней мере один символ o.
- Для каждого j (1 \leq j \leq M) существует хотя бы одно i, такое что j-й символ S_i равен o.

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

3 5
oooxx
xooox
xxooo

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

2

Посетив 1-й и 3-й киоски, вы можете купить все вкусы попкорна. Невозможно купить все вкусы в одном киоске, поэтому ответ 2..

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

3 2
oo
ox
xo

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

1

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

8 6
xxoxxo
xxoxxx
xoxxxx
xxxoxx
xxoooo
xxxxox
xoxxox
oxoxxo

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

3

В AtCoder Land есть N киосков с попкорном, пронумерованных от 1 до N. У них есть M различных вкусов попкорна, обозначенных 1, 2, \dots, M, но не каждый киоск продает все вкусы попкорна.
Такахаcи получил информацию о том, какие вкусы попкорна продаются в каждом киоске. Эта информация представлена в виде N строк S_1, S_2, \dots, S_N длиной M. Если j-й символ S_i равен o, это означает, что киоск i продает вкус j попкорна. Если это x, это означает, что киоск i не продает вкус j. Каждый киоск продает хотя бы один вкус попкорна, и каждый вкус попкорна продается хотя бы в одном киоске.
Такахаcи хочет попробовать все вкусы попкорна, но не хочет слишком много передвигаться. Определите минимальное количество киосков, которые должен посетить Такахаcи, чтобы купить все вкусы попкорна.

Ввод

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

Вывод

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

Ограничения

- N и M — целые числа.
- 1 \leq N, M \leq 10
- Каждое S_i — строка длиной M, состоящая из o и x.
- Для каждого i (1 \leq i \leq N) в S_i есть по крайней мере один символ o.
- Для каждого j (1 \leq j \leq M) существует хотя бы одно i, такое что j-й символ S_i равен o.

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

3 5
oooxx
xooox
xxooo

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

2

Посетив 1-й и 3-й киоски, вы можете купить все вкусы попкорна. Невозможно купить все вкусы в одном киоске, поэтому ответ 2.

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

3 2
oo
ox
xo

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

1

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

8 6
xxoxxo
xxoxxx
xoxxxx
xxxoxx
xxoooo
xxxxox
xoxxox
oxoxxo

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

3


У входа в AtCoder Land находится один билетный киоск, где посетители по очереди покупают билеты. Процесс покупки занимает A секунд на человека. Как только человек, стоящий первым в очереди, завершает покупку билета, следующий человек (если такой есть) сразу начинает процесс покупки.
В данный момент у билетного киоска никого нет, и N человек придут покупать билеты один за другим. В частности, i-й человек придет к билетному киоску через T_i секунд. Если очередь уже есть, они присоединяются к ее концу; если нет, они сразу начинают процесс покупки. Здесь T_1 < T_2 < \dots < T_N.
Для каждого i\ (1 \leq i \leq N) определите, через сколько секунд от текущего момента i-й человек завершит покупку своего билета.

Ввод

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

Вывод

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

Ограничения

- 1 \leq N \leq 100
- 0 \leq T_1 < T_2 < \dots < T_N \leq 10^6
- 1 \leq A \leq 10^6
- Все входные значения — целые числа.

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

3 4
0 2 10

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

4
8
14

События происходят в следующем порядке:

- В 0 секунд: 1-й человек приходит к билетному киоску и начинает процесс покупки.
- В 2 секунды: 2-й человек приходит к билетному киоску и встает в очередь за 1-м человеком.
- В 4 секунды: 1-й человек завершает покупку билета, и 2-й человек начинает процесс покупки.
- В 8 секунд: 2-й человек завершает покупку билета.
- В 10 секунд: 3-й человек приходит к билетному киоску и начинает процесс покупки.
- В 14 секунд: 3-й человек завершает покупку билета.

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

3 3
1 4 7

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

4
7
10

События происходят в следующем порядке:

- В 1 секунда: 1-й человек приходит к билетному киоску и начинает процесс покупки.
- В 4 секунды: 1-й человек завершает покупку билета, и 2-й человек приходит к билетному киоску и начинает процесс покупки.
- В 7 секунд: 2-й человек завершает покупку билета, и 3-й человек приходит к билетному киоску и начинает процесс покупки.
- В 10 секунд: 3-й человек завершает покупку билета.

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

10 50000
120190 165111 196897 456895 540000 552614 561627 743796 757613 991216

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

170190
220190
270190
506895
590000
640000
690000
793796
843796
1041216

На входе в AtCoder Land есть одна билетная касса, где посетители выстраиваются в очередь, чтобы купить билеты по одному. Процесс покупки занимает A секунд на человека. Как только человек в начале очереди заканчивает покупку билета, следующий человек (если таковой имеется) немедленно начинает процесс покупки.
В настоящее время в очереди у билетной кассы никого нет, и N человек придут покупать билеты один за другим. В частности, i-й человек прибудет к билетной кассе через T_i секунд. Если очередь уже есть, они присоединятся к ее концу; если нет, они немедленно начнут процесс покупки. Здесь T_1 < T_2 < \dots < T_N.
Для каждого i\ (1 \leq i \leq N) определите, через сколько секунд i-й человек закончит покупку своего билета.

Ввод

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

Вывод

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

Ограничения

- 1 \leq N \leq 100
- 0 \leq T_1 < T_2 < \dots < T_N \leq 10^6
- 1 \leq A \leq 10^6
- Все входные значения являются целыми числами.

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

3 4
0 2 10

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

4
8
14

События происходят в следующем порядке:

- На 0 секундах: 1-й человек подходит к кассе и начинает процесс покупки.
- На 2 секундах: 2-й человек подходит к кассе и встает в очередь за 1-м человеком.
- На 4 секундах: 1-й человек заканчивает покупку своего билета, а 2-й человек начинает процесс покупки.
- На 8 секунде: 2-й человек заканчивает покупку билета.
- На 10 секунде: 3-й человек подходит к кассе и начинает процесс покупки.
- На 14 секунде: 3-й человек подходит к кассе и начинает процесс покупки.

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

3 3
1 4 7

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

4
7
10

События происходят в следующем порядке:

- На 1 секунде: 1-й человек подходит к кассе и начинает процесс покупки.
- На 4 секунде: 1-й человек заканчивает покупку билета, а 2-й человек подходит к кассе и начинает процесс покупки.
- На 7 секунде: 2-й человек заканчивает покупку билета, а 3-й человек подходит к кассе и начинает процесс покупки.
- На 10 секунде: 3-й человек заканчивает покупку билета.

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

10 50000
120190 165111 196897 456895 540000 552614 561627 743796 757613 991216

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

170190
220190
270190
506895
590000
640000
690000
793796
843796
1041216


В сувенирном магазине AtCoder Land продается N коробок.
Коробки пронумерованы от 1 до N, а коробка i имеет цену A_i иен и содержит A_i конфет.
Такахаши хочет купить M из N коробок и раздать по одной коробке M людям с именами 1, 2, \ldots, M.
Здесь он хочет купить коробки, которые могут удовлетворять следующему условию:

- Для каждого i = 1, 2, \ldots, M, человеку i даётся коробка, содержащая не менее B_i конфет.

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

Ввод

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

Вывод

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

Ограничения

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

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

4 2
3 4 5 4
1 4

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

7

Такахаши может купить коробки 1 и 4 и передать коробку 1 человеку 1, а коробку 4 человеку 2, чтобы выполнить условие.
В этом случае ему нужно всего заплатить 7 иен, а выполнить условие, заплатив меньше 7 иен, невозможно, поэтому выведите 7.

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

3 3
1 1 1
1000000000 1000000000 1000000000

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

-1

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

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

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

19

В сувенирном магазине в AtCoder Land продаются N коробок.
Коробки пронумерованы от 1 до N, и коробка i стоит A_i йен и содержит A_i конфет.
Такаси хочет купить M из N коробок и подарить по коробке M людям с именами 1, 2, \ldots, M.
Здесь он хочет купить коробки, которые могут удовлетворить следующее условие:

- Для каждого i = 1, 2, \ldots, M, человек i получает коробку, содержащую не менее B_i конфет.

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

Ввод

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

Вывод

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

Ограничения

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

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

4 2
3 4 5 4
1 4

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

7

Такаси может купить коробки 1 и 4, и дать коробку 1 человеку 1 и коробку 4 человеку 2, чтобы удовлетворить условие.
В этом случае он должен заплатить в общей сложности 7 йен, и невозможно удовлетворить условие, заплатив меньше 7 йен, поэтому выведите 7.

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

3 3
1 1 1
1000000000 1000000000 1000000000

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

-1

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

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

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

19

Сувенирный магазин в AtCoder Land продает N коробок.
Коробки пронумерованы от 1 до N, а коробка i стоит A_i иен и содержит A_i конфет.
Такахаши хочет купить M из N коробок и раздать по одной коробке M людям с именами 1, 2, \ldots, M.
Здесь он хочет купить коробки, которые могут удовлетворять следующему условию:

- Для каждого i = 1, 2, \ldots, M человеку i дается коробка, содержащая не менее B_i конфет.

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

Ввод

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

Вывод

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

Ограничения

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

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

4 2
3 4 5 4
1 4

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

7

Такахаши может купить коробки 1 и 4 и отдать коробку 1 человеку 1, а коробку 4 человеку 2, чтобы удовлетворить условию.
В этом случае ему нужно заплатить всего 7 иен, и невозможно выполнить условие, заплатив меньше 7 иен, поэтому выведите 7.

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

3 3
1 1 1
1000000000 1000000000 10000000000

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

-1

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

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

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

19


Такахаси направляется в AtCoder Land.
Перед ним находится указатель, и он хочет определить, написано ли на нем AtCoder Land.

Вам даны две строки S и T, разделенные пробелом.
Определите, равно ли S = AtCoder и T = Land.

Ввод

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

Вывод

Если S = AtCoder и T = Land, выведите Yes; в противном случае выведите No.

Ограничения

- S и T — строки, состоящие из заглавных и строчных английских букв, длиной от 1 до 10 включительно.

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

AtCoder Land

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

Yes

S = AtCoder и T = Land.

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

CodeQUEEN Land

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

No

S не равно AtCoder.

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

aTcodeR lANd

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

No

Заглавные и строчные буквы различаются.

Такахаши направляется в AtCoder Land.
Перед ним вывеска, и он хочет определить, написано ли на ней AtCoder Land.

Вам даны две строки S и T, разделенные пробелом.
Определите, S = AtCoder и T = Land.

Ввод

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

Вывод

Если S = AtCoder и T = Land, вывести Yes; в противном случае вывести No.

Ограничения

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

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

AtCoder Land

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

Yes

S = AtCoder и T = Land.

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

CodeQUEEN Land

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

No

S не является AtCoder.

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

aTcodeR lANd

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

No

Различаются заглавные и строчные буквы.


Координатная плоскость покрыта 2\times1 плитками. Плитки выложены в соответствии со следующими правилами:

- Для целочисленной пары (i,j) квадрат A _ {i,j}=\lbrace(x,y)\mid i\leq x\leq i+1\wedge j\leq y\leq j+1\rbrace содержится в одной плитке.
- Если i+j четное, A _ {i,j} и A _ {i + 1,j} содержатся в одной плитке.

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

Такахаши начинает в точке (S _ x+0.5,S _ y+0.5) на координатной плоскости.
Он может повторять следующий ход столько раз, сколько захочет:

- Выберите направление (вверх, вниз, влево или вправо) и положительное целое число n. Переместите n единиц в этом направлении.

Каждый раз, когда он входит на плитку, он платит пошлину в размере 1.
Определите минимальную пошлину, которую он должен заплатить, чтобы достичь точки (T _ x+0.5,T _ y+0.5).

Ввод

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

Вывод

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

Ограничения

- 0\leq S _ x\leq2\times10 ^ {16}
- 0\leq S _ y\leq2\times10 ^ {16}
- 0\leq T _ x\leq2\times10 ^ {16}
- 0\leq T _ y\leq2\times10 ^ {16}
- Все входные значения являются целыми числами.

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

5 0
2 5

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

5

Например, Такахаши может заплатить пошлину в размере 5, выполнив следующие действия:

- Переместиться влево на 1. Заплатить пошлину в размере 0.
- Переместиться вверх на 1. Заплатить пошлину в размере 1.
- Переместиться влево на 1. Заплатить пошлину в размере 0.
- Переместиться вверх на 3. Заплатить пошлину в размере 3.
- Переместиться влево на 1. Заплатить пошлину в размере 0.
- Переместиться вверх на 1. Заплатить пошлину в размере 1.

Невозможно уменьшить пошлину до 4 или меньше, поэтому выведите 5.

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

3 1
4 1

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

0

Бывают случаи, когда пошлину платить не нужно.

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

2552608206527595 5411232866732612
771856005518028 7206210729152763

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

1794977862420151

Обратите внимание, что выводимое значение может выходить за пределы диапазона 32-битного целого числа.

Координатная плоскость покрыта плитками размером 2\times1. Плитки уложены согласно следующим правилам:

- Для пары целых чисел (i,j), квадрат A _ {i,j}=\lbrace(x,y)\mid i\leq x\leq i+1\wedge j\leq y\leq j+1\rbrace содержится в одной плитке.
- Когда i+j чётное, A _ {i,j} и A _ {i + 1,j} содержатся в одной плитке.

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

Такаhashi начинает в точке (S _ x+0.5,S _ y+0.5) на координатной плоскости.
Он может многократно выполнять следующее действие:

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

Каждый раз, входя в плитку, он платит пошлину 1.
Найдите минимальную пошлину, которую он должен заплатить, чтобы добраться до точки (T _ x+0.5,T _ y+0.5).

Ввод

Ввод задается в стандартном формате:
S _ x S _ y
T _ x T _ y

Вывод

Напечатайте минимальную пошлину, которую должен заплатить Такаhashi.

Ограничения

- 0\leq S _ x\leq2\times10 ^ {16}
- 0\leq S _ y\leq2\times10 ^ {16}
- 0\leq T _ x\leq2\times10 ^ {16}
- 0\leq T _ y\leq2\times10 ^ {16}
- Все входные значения — целые числа.

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

5 0
2 5

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

5

Например, Такаhashi может заплатить пошлину 5, передвигаясь следующим образом:

- Переместиться на 1 влево. Заплатить пошлину 0.
- Переместиться на 1 вверх. Заплатить пошлину 1.
- Переместиться на 1 влево. Заплатить пошлину 0.
- Переместиться на 3 вверх. Заплатить пошлину 3.
- Переместиться на 1 влево. Заплатить пошлину 0.
- Переместиться на 1 вверх. Заплатить пошлину 1.

Невозможно снизить пошлину до 4 и менее, поэтому напечатайте 5.

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

3 1
4 1

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

0

Бывают случаи, когда платить пошлину не нужно.

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

2552608206527595 5411232866732612
771856005518028 7206210729152763

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

1794977862420151

Обратите внимание, что значение вывода может превышать диапазон 32-битного целого числа.

Координатная плоскость покрыта плитками размером 2\times1. Плитки уложены согласно следующим правилам:

- Для пары целых чисел (i,j), квадрат A _ {i,j}=\lbrace(x,y)\mid i\leq x\leq i+1\wedge j\leq y\leq j+1\rbrace содержится в одной плитке.
- Когда i+j чётное, A _ {i,j} и A _ {i + 1,j} содержатся в одной плитке.

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

Такахаши начинает в точке (S _ x+0.5,S _ y+0.5) на координатной плоскости.
Он может многократно выполнять следующее действие:

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

Каждый раз, входя в плитку, он платит пошлину 1.
Найдите минимальную пошлину, которую он должен заплатить, чтобы добраться до точки (T _ x+0.5,T _ y+0.5).

Ввод

Ввод задается в стандартном формате:
S _ x S _ y
T _ x T _ y

Вывод

Напечатайте минимальную пошлину, которую должен заплатить Такаhashi.

Ограничения

- 0\leq S _ x\leq2\times10 ^ {16}
- 0\leq S _ y\leq2\times10 ^ {16}
- 0\leq T _ x\leq2\times10 ^ {16}
- 0\leq T _ y\leq2\times10 ^ {16}
- Все входные значения — целые числа.

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

5 0
2 5

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

5

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

- Переместиться на 1 влево. Заплатить пошлину 0.
- Переместиться на 1 вверх. Заплатить пошлину 1.
- Переместиться на 1 влево. Заплатить пошлину 0.
- Переместиться на 3 вверх. Заплатить пошлину 3.
- Переместиться на 1 влево. Заплатить пошлину 0.
- Переместиться на 1 вверх. Заплатить пошлину 1.

Невозможно снизить пошлину до 4 и менее, поэтому напечатайте 5.

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

3 1
4 1

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

0

Бывают случаи, когда платить пошлину не нужно.

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

2552608206527595 5411232866732612
771856005518028 7206210729152763

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

1794977862420151

Обратите внимание, что значение вывода может превышать диапазон 32-битного целого числа.


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

- Между двумя людьми, носящими одежду цвета i, находится ровно один человек.

Ввод

Ввод задаётся в стандартном формате:
N
A_1 A_2 \ldots A_{2N}

Вывод

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

Ограничения

- 2 \leq N \leq 100
- 1 \leq A_i \leq N
- Каждое число от 1 до N встречается ровно дважды в A.
- Все входные значения являются целыми числами.

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

3
1 2 1 3 2 3

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

2

Два значения i удовлетворяют условию: 1 и 3. Фактически, люди, носящие одежду цвета 1, находятся на 1-й и 3-й позициях слева, с точно одним человеком между ними.

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

2
1 1 2 2

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

0

Может не быть i, удовлетворяющего условию.

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

4
4 3 2 3 2 1 4 1

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

3

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

- Между двумя людьми, одетыми в одежду цвета i, находится ровно один человек.

Ввод

Ввод дается из стандартного ввода в следующем формате:
N
A_1 A_2 \ldots A_{2N}

Вывод

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

Ограничения

- 2 \leq N \leq 100
- 1 \leq A_i \leq N
- Каждое целое число от 1 до N встречается ровно дважды в A.
- Все входные значения являются целыми числами.

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

3
1 2 1 3 2 3

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

2

Существуют два значения i, удовлетворяющие условию: 1 и 3.
Фактически, люди в одежде цвета 1 находятся на 1-й и 3-й позициях слева, а между ними ровно один человек.

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

2
1 1 2 2

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

0

Не может быть i, удовлетворяющего условию.

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

4
4 3 2 3 2 1 4 1

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

3

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

- Между двумя людьми, одетыми в одежду цвета i, находится ровно один человек.

Ввод

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

Вывод

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

Ограничения

- 2 \leq N \leq 100
- 1 \leq A_i \leq N
- Каждое число от 1 до N встречается ровно дважды в A.
- Все входные значения являются целыми числами.

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

3
1 2 1 3 2 3

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

2

Два значения i удовлетворяют условию: 1 и 3. Люди, одетые в одежду цвета 1, находятся на 1-й и 3-й позициях слева, а между ними ровно один человек.

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

2
1 1 2 2

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

0

Может не быть i, удовлетворяющих условиям.

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

4
4 3 2 3 2 1 4 1

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

3


Вам дана последовательность положительных целых чисел длины N: H=(H _ 1,H _ 2,\dotsc,H _ N).
Имеется последовательность неотрицательных целых чисел длины N+1: A=(A _ 0,A _ 1,\dotsc,A _ N). Изначально A _ 0=A _ 1=\dotsb=A _ N=0.
Повторно выполните следующие операции над A:

- Увеличьте значение A _ 0 на 1.
- Для i=1,2,\ldots,N в этом порядке выполните следующую операцию:
- Если A _ {i-1}\gt A _ i и A _ {i-1}\gt H _ i, уменьшите значение A _ {i-1} на 1 и увеличьте значение A _ i на 1.

Для каждого i=1,2,\ldots,N найдите количество операций до того, как A _ i>0 будет выполнено в первый раз.

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

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

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

Выведите ответы для i=1,2,\ldots,N в одну строку, разделив их пробелами.

Ограничения

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

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

5
3 1 4 1 5

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

4 5 13 14 26

Первые пять операций выполняются следующим образом.
Здесь каждая строка соответствует одной операции, причем самый левый столбец представляет шаг 1, а остальные представляют шаг 2.

Из этой диаграммы A _ 1\gt0 выполняется в первый раз после 4-й операции, а A _ 2\gt0 выполняется в первый раз после 5-й операции.
Аналогично, ответы для A _ 3, A _ 4, A _ 5 равны 13, 14, 26 соответственно.
Следовательно, вы должны напечатать 4 5 13 14 26.

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

6
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000

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

1000000001 2000000001 3000000001 4000000001 5000000001 6000000001

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

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

15
748 169 586 329 972 529 432 519 408 587 138 249 656 114 632

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

749 918 1921 2250 4861 5390 5822 6428 6836 7796 7934 8294 10109 10223 11373

Вам дана последовательность положительных целых чисел длины N: H=(H _ 1,H _ 2,\dotsc,H _ N).
Существует последовательность неотрицательных целых чисел длины N+1: A=(A _ 0,A _ 1,\dotsc,A _ N). Изначально, A _ 0=A _ 1=\dotsb=A _ N=0.
Повторяйте следующие операции над A:

- Увеличьте значение A _ 0 на 1.
- Для i=1,2,\ldots,N в этом порядке выполните следующую операцию:
- Если A _ {i-1}\gt A _ i и A _ {i-1}\gt H _ i, уменьшите значение A _ {i-1} на 1 и увеличьте значение A _ i на 1.

Для каждого i=1,2,\ldots,N найдите количество операций до первого выполнения условия A _ i>0.

Ввод

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

Вывод

Выведите ответы для i=1,2,\ldots,N в одной строке, разделенные пробелами.

Ограничения

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

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

5
3 1 4 1 5

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

4 5 13 14 26

Первые пять операций происходят следующим образом. Здесь каждая строка соответствует одной операции, с крайней левой колонкой, представляющей шаг 1, и другими, представляющими шаг 2.

Из этой диаграммы A _ 1\gt0 становится истинным впервые после 4-й операции, и A _ 2\gt0 становится истинным впервые после 5-й операции. Аналогично, ответы для A _ 3, A _ 4, A _ 5 равны 13, 14, 26, соответственно. Поэтому вы должны вывести 4 5 13 14 26.

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

6
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000

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

1000000001 2000000001 3000000001 4000000001 5000000001 6000000001

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

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

15
748 169 586 329 972 529 432 519 408 587 138 249 656 114 632

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

749 918 1921 2250 4861 5390 5822 6428 6836 7796 7934 8294 10109 10223 11373

Вам дана последовательность положительных целых чисел длины N: H=(H _ 1,H _ 2,\dotsc,H _ N).
Существует последовательность неотрицательных целых чисел длины N+1: A=(A _ 0,A _ 1,\dotsc,A _ N). Изначально, A _ 0=A _ 1=\dotsb=A _ N=0.
Повторяйте следующие операции над A::

- Увеличьте значение A _ 0 на 1.
- Для i=1,2,\ldots,N в этом порядке выполните следующую операцию:
- Если A _ {i-1}\gt A _ i и A _ {i-1}\gt H _ i, уменьшите значение A _ {i-1} на 1 и увеличьте значение A _ i на 1.

Для каждого i=1,2,\ldots,N найдите количество операций до первого выполнения условия A _ i>0.

Ввод

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

Вывод

Выведите ответы для i=1,2,\ldots,N в одной строке, разделенные пробелами.

Ограничения

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

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

5
3 1 4 1 5

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

4 5 13 14 26

Первые пять операций происходят следующим образом.
Здесь каждая строка соответствует одной операции, с крайней левой колонкой, представляющей шаг 1, и другими, представляющими шаг 2.

Из этой диаграммы A _ 1\gt0 становится истинным впервые после 4-й операции, и A _ 2\gt0 становится истинным впервые после 5-й операции.
Аналогично, ответы для A _ 3, A _ 4, A _ 5 равны 13, 14, 26, соответственно.
Поэтому вы должны вывести 4 5 13 14 26.

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

6
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000

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

1000000001 2000000001 3000000001 4000000001 5000000001 6000000001

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

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

15
748 169 586 329 972 529 432 519 408 587 138 249 656 114 632

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

749 918 1921 2250 4861 5390 5822 6428 6836 7796 7934 8294 10109 10223 11373


Вам даны N строк.
i-я строка S_i (1 \leq i \leq N) — это Такахаши или Аоки.
Сколько i существует таких, что S_i равно Такахаши?

Ввод

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

Вывод

Выведите количество i, таких что S_i равно Такахаши, в виде целого числа в одной строке.

Ограничения

- 1 \leq N \leq 100
- N — целое число.
- Каждая S_i — это Такахаши или Аоки. (1 \leq i \leq N)

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

3
Аоки
Такахаши
Такахаши

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

2

S_2 и S_3 равны Такахаши, а S_1 — нет.
Следовательно, выведите 2.

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

2
Аоки
Аоки

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

0

Возможно, ни один S_i не равен Такахаши.

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

20
Аоки
Такахаши
Такахаши
Аоки
Аоки
Аоки
Такахаши
Аоки
Аоки
Аоки
Такахаши
Аоки
Аоки
Такахаши
Аоки
Аоки
Аоки
Такахаши

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

7

У вас есть N строк.
i-я строка S_i (1 \leq i \leq N) — это либо Takahashi, либо Aoki.
Сколько таких i, что S_i равна Takahashi?

Ввод

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

Вывод

Выведите количество i, таких что S_i равна Takahashi в виде целого числа в одной строке.

Ограничения

- 1 \leq N \leq 100
- N — целое число.
- Каждое S_i — это Takahashi или Aoki. (1 \leq i \leq N)

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

3
Aoki
Takahashi
Takahashi

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

2

S_2 и S_3 равны Takahashi, в то время как S_1 нет.
Следовательно, выведите 2.

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

2
Aoki
Aoki

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

0

Возможно, что ни одно S_i не равно Takahashi.

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

20
Aoki
Takahashi
Takahashi
Aoki
Aoki
Aoki
Aoki
Takahashi
Aoki
Aoki
Aoki
Takahashi
Takahashi
Aoki
Takahashi
Aoki
Aoki
Aoki
Aoki
Takahashi

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

7

Вам дано N строк.
i-ая строка S_i (1 \leq i \leq N) - это Такахаши или Аоки.
Сколько может быть найдено i, что S_i равен Такахаши?

Input

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

Output

Print the count of i such that S_i is equal to Takahashi as an integer in a single line.

Constraints

- 1 \leq N \leq 100
- N is an integer.
- Each S_i is Takahashi or Aoki. (1 \leq i \leq N)

Sample Input 1

3
Aoki
Takahashi
Takahashi

Sample Output 1

2

S_2 and S_3 are equal to Takahashi, while S_1 is not.
Therefore, print 2.

Sample Input 2

2
Aoki
Aoki

Sample Output 2

0

It is possible that no S_i is equal to Takahashi.

Sample Input 3

20
Aoki
Takahashi
Takahashi
Aoki
Aoki
Aoki
Aoki
Takahashi
Aoki
Aoki
Aoki
Takahashi
Takahashi
Aoki
Takahashi
Aoki
Aoki
Aoki
Aoki
Takahashi

Sample Output 3

7


Вам дана строка S длины N, состоящая из символов A, B и ?.
Вам также дано положительное целое число K.
Строка T, состоящая из A и B, считается хорошей строкой, если она удовлетворяет следующему условию:

- Ни одна смежная подстрока длины K в T не является палиндромом.

Пусть q будет количеством символов ? в S.
Существует 2^q строк, которые можно получить, заменив каждый ? в S на A или B. Найдите, сколько из этих строк являются хорошими строками.
Счет может быть очень большим, поэтому найдите его по модулю 998244353.

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

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

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

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

Ограничения

- 2 \leq K \leq N \leq 1000
- K \leq 10
- S — это строка, состоящая из A, B и ?.
- Длина S равна N.
- N и K — целые числа.

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

7 4
AB?A?BA

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

1

В данной строке есть два символа ?.
Заменой каждого символа ? на A или B получено четыре строки:

- ABAAABA
- ABAABBA
- ABBAABA
- ABBABBA

Среди них последние три содержат непрерывную подстроку ABBA длины 4, которая является палиндромом и, следовательно, не является хорошими строками.
Поэтому следует вывести 1.

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

40 7
???????????????????????????????????????

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

116295436

Убедитесь, что вы нашли количество хороших строк по модулю 998244353.

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

15 5
ABABA??????????

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

0

Возможно, нет способа заменить ?s, чтобы получить хорошую строку.

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

40 8
?A?B??B?B?AA?A?B??B?A???B?BB?B???BA??BAA

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

259240

Дана строка S длиной N, состоящая из символов A, B и ?.
Также дано положительное целое число K.
Строка T, состоящая из A и B, считается хорошей строкой, если она удовлетворяет следующему условию:

- Ни одна смежная подстрока длиной K в T не является палиндромом.

Пусть q — количество символов ? в S.
Существует 2^q строк, которые можно получить, заменяя каждый ? в S на либо A, либо B. Найдите, сколько из этих строк являются хорошими.
Счёт может быть очень большим, поэтому найдите его по модулю 998244353.

Ввод

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

Вывод

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

Ограничения

- 2 \leq K \leq N \leq 1000
- K \leq 10
- S — строка, состоящая из A, B и ?.
- Длина S равна N.
- N и K являются целыми числами.

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

7 4
AB?A?BA

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

1

В данной строке два ?.
Существует четыре строки, полученные заменой каждого ? на A или B:

- ABAAABA
- ABAABBA
- ABBAABA
- ABBABBA

Среди них последние три содержат смежную подстроку ABBA длиной 4, которая является палиндромом, и, следовательно, не являются хорошими строками.
Поэтому нужно вывести 1.

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

40 7
????????????????????????????????????????

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

116295436

Обеспечьте нахождение количества хороших строк по модулю 998244353.

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

15 5
ABABA??????????

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

0

Возможно, что нет способа заменить ? так, чтобы получить хорошую строку.

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

40 8
?A?B??B?B?AA?A?B??B?A???B?BB?B???BA??BAA

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

259240

Вам дана строка S длины N, состоящая из символов A, B, и ?.
Вам также дано целое положительное число K.
Строка T, состоящая из A и B, считается позитивной строкой, если она удовлетворяет следующему условию:

- Никакая непрерывная подстрока длины K в T не является палиндромом.

Пусть q будет числом ? символов S.
Есть строки 2^q, которые можно получить, заменив каждую ? в S на A или B. Найдите, сколько из этих строк являются позитивными.
Число может быть очень большим, поэтому найдите его по модулю 998244353.

Input

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

Output

Print the answer.

Constraints

- 2 \leq K \leq N \leq 1000
- K \leq 10
- S is a string consisting of A, B, and ?.
- The length of S is N.
- N and K are integers.

Sample Input 1

7 4
AB?A?BA

Sample Output 1

1

The given string has two ?s.
There are four strings obtained by replacing each ? with A or B:

- ABAAABA
- ABAABBA
- ABBAABA
- ABBABBA

Among these, the last three contain the contiguous substring ABBA of length 4, which is a palindrome, and thus are not good strings.
Therefore, you should print 1.

Sample Input 2

40 7
????????????????????????????????????????

Sample Output 2

116295436

Ensure to find the number of good strings modulo 998244353.

Sample Input 3

15 5
ABABA??????????

Sample Output 3

0

It is possible that there is no way to replace the ?s to obtain a good string.

Sample Input 4

40 8
?A?B??B?B?AA?A?B??B?A???B?BB?B???BA??BAA

Sample Output 4

259240


Есть N коробок, пронумерованных от 1 до N, и N предметов, пронумерованных от 1 до N. Предмет i (1 \leq i \leq N) находится в коробке A_i и имеет вес W_i.
Можно многократно выполнять операцию выбора предмета и перемещения его в другую коробку. Если вес перемещаемого предмета равен w, стоимость операции равна w.
Найди минимальную общую стоимость, необходимую для того, чтобы в каждой коробке находился ровно один предмет.

Ввод

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

Вывод

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

Ограничения

-  1 \leq N \leq 10^{5}
-  1 \leq A_i \leq N (1 \leq i \leq N)
-  1 \leq W_i \leq 10^{4} (1 \leq i \leq N)
- Все входные значения — целые числа.

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

5
2 2 3 3 5
33 40 2 12 16

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

35

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

- Переместить предмет 1 из коробки 2 в коробку 1. Стоимость равна 33.
- Переместить предмет 3 из коробки 3 в коробку 4. Стоимость равна 2.

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

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

12
3 6 7 4 12 4 8 11 11 1 8 11
3925 9785 9752 3587 4013 1117 3937 7045 6437 6208 3391 6309

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

17254

Есть N коробок, пронумерованных от 1 до N, и N предметов, пронумерованных от 1 до N. Предмет i (1 \leq i \leq N) находится в коробке A_i и имеет вес W_i.
Вы можете многократно выполнять операцию выбора предмета и перемещения его в другую коробку ноль или более раз. Если вес перемещаемого предмета равен w, стоимость операции равна w.
Определите минимальную общую стоимость, необходимую для того, чтобы каждая коробка содержала ровно один предмет.

Ввод

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

Вывод

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

Ограничения

- 1 \leq N \leq 10^{5}
- 1 \leq A_i \leq N (1 \leq i \leq N)
- 1 \leq W_i \leq 10^{4} (1 \leq i \leq N)
- Все входные значения являются целыми числами.

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

5
2 2 3 3 5
33 40 2 12 16

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

35

С помощью следующих двух ходов вы можете сделать так, чтобы каждая коробка содержала ровно один предмет:

- Переместить предмет 1 из коробки 2 в коробку 1. Стоимость составляет 33.
- Переместить предмет 3 из коробки 3 в коробку 4. Стоимость составляет 2.

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

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

12
3 6 7 4 12 4 8 11 11 1 8 11
3925 9785 9752 3587 4013 1117 3937 7045 6437 6208 3391 6309

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

17254

Имеется N ящиков с номерами от 1 до N и N элементов с номерами от 1 до N. Товар i (1 \leq i \leq N) находится в ящике A_i и имеет вес W_i.
Вы можете многократно выполнять операцию выбора предмета и перемещения его в другой ящик ноль и более раз. Если вес перемещаемого предмета равен w, стоимость операции равна w.
Найдите минимальную общую стоимость, необходимую для того, чтобы в каждой коробке содержался ровно один предмет.

Ввод

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

Вывод

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

Ограничения

-  1 \leq N \leq 10^{5}
-  1 \leq A_i \leq N (1 \leq i \leq N)
-  1 \leq W_i \leq 10^{4} (1 \leq i \leq N)
- Все входные значения являются целыми числами.

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

5
2 2 3 3 5
33 40 2 12 16

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

35

С помощью следующих двух ходов вы можете заставить каждую коробку содержать ровно один предмет:

- Переместить предмет 1 из ящика 2 в ящик 1. Стоимость равна 33.
- Переместить предмет 3 из ящика 3 в ящик 4. Стоимость равна 2.

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

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

12
3 6 7 4 12 4 8 11 11 1 8 11
3925 9785 9752 3587 4013 1117 3937 7045 6437 6208 3391 6309

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

17254


Вам даны две строки S и T, состоящие из строчных английских букв. Определите, существует ли пара целых чисел c и w, таких что 1 \leq c \leq w < |S|, удовлетворяющая следующему условию. Здесь |S| обозначает длину строки S. Обратите внимание, что w должно быть меньше |S|.

- Если строка S разделяется каждые w символов с начала, то конкатенация c-х символов подстрок длиной не менее c в порядке равна T.

Ввод

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

Вывод

Выведите Yes, если существует пара целых чисел c и w, таких что 1 \leq c \leq w < |S| и условие выполняется, и No в противном случае.

Ограничения

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

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

atcoder toe

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

Yes

Если строку S разделить каждые два символа, она выглядит так:
at
co
de
r

Затем конкатенация 2-х символов подстрок длиной не менее 2 равна toe, что равно T. Следовательно, выведите Yes.

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

beginner r

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

No

w=|S| не разрешено, и ни одна пара чисел 1 \leq c \leq w < |S| не удовлетворяет условию. Следовательно, выведите No.

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

verticalreading agh

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

No

Вам даны две строки S и T, состоящие из строчных английских букв.
Определите, существует ли пара целых чисел c и w, такая что 1 \leq c \leq w < |S| и выполняется следующее условие. Здесь |S| обозначает длину строки S. Обратите внимание, что w должно быть меньше |S|.

- Если S разбивается на каждые w символов с начала, то конкатенация c-х символов подстрок длины не менее c по порядку равна T.

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

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

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

Выведите Yes, если существует пара целых чисел c и w, такая что 1 \leq c \leq w < |S| и выполняется условие, и No в противном случае.

Ограничения

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

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

atcoder toe

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

Yes

Если S разбивается на каждые два символа, это выглядит так:
at
co
de
r

Тогда конкатенация 2-х символов подстрок длиной не менее 2 равна toe, что равно T. Таким образом, вывести Yes.

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

beginner r

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

No

w=|S| не допускается, и ни одна пара целых чисел 1 \leq c \leq w < |S| не удовлетворяет условию. Таким образом, вывести No.

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

verticalreading agh

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

No


Имеется N - 1 белых шаров и один чёрный шар. Эти N шаров расположены в ряд, причем чёрный шар изначально находится в крайнем левом положении.
Такахаши выполнит следующую операцию ровно K раз.

- Выберите целое число равномерно случайным образом между 1 и N включительно, дважды. Пусть a и b это выбранные целые числа. Если a \neq b, поменяйте местами a-й и b-й шары слева.

Пусть после K операций черный шар окажется на x-й позиции слева. Найдите ожидаемое значение x по модулю 998244353.

Каково ожидаемое значение по модулю 998244353?

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

Ввод

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

Вывод

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

Ограничения

- 1 \leq N \leq 998244352
- 1 \leq K \leq 10^5

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

2 1

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

499122178

После одной операции вероятности того, что чёрный шар окажется в первой позиции и во второй позиции слева, равны \displaystyle \frac{1}{2}. Таким образом, ожидаемое значение равно \displaystyle \frac{3}{2}.

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

3 2

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

554580198

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

4 4

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

592707587

Даны N - 1 белых мячей и один черный мяч. Эти N мячей расположены в ряд, и черный мяч изначально находится в крайнем левом положении.
Такаhashi выполнит следующую операцию ровно K раз.

- Дважды выберите случайным образом целое число от 1 до N включительно. Пусть a и b — выбранные числа. Если a \neq b, поменяйте местами a-й и b-й мячи слева.

После K операций пусть черный мяч находится на x-м месте слева. Найдите ожидаемое значение x по модулю 998244353.

Что такое ожидаемое значение по модулю 998244353?

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

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

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

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

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

Ограничения

- 1 \leq N \leq 998244352
- 1 \leq K \leq 10^5

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

2 1

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

499122178

После одной операции вероятности, что черный мяч находится на 1-й позиции и на 2-й позиции слева, обе равны \displaystyle \frac{1}{2}. Таким образом, ожидаемое значение равно \displaystyle \frac{3}{2}.

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

3 2

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

554580198

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

4 4

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

592707587

Есть N - 1 белый шар и один черный шар. Эти N шаров выстроены в ряд, причем черный шар изначально находится в крайней левой позиции.
Такахаши выполнит следующую операцию ровно K раз.

- Выбрать целое число равномерно случайным образом от 1 до N включительно дважды. Пусть a и b — выбранные целые числа. Если a \neq b, поменять местами a-й и b-й шары слева.

После K операций пусть черный шар окажется на x-й позиции слева. Найдите ожидаемое значение x по модулю 998244353.

Чему равно ожидаемое значение по модулю 998244353?

Можно доказать, что искомое ожидаемое значение всегда будет рациональным. Кроме того, в условиях ограничений этой задачи можно доказать, что если это значение выразить в виде несократимой дроби \frac{P}{Q}, то Q \not \equiv 0 \pmod{998244353}. Следовательно, существует уникальное целое число R, такое что R \times Q \equiv P \pmod{998244353}, 0 \leq R < 998244353. Сообщите об этом R.

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

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

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

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

Ограничения

- 1 \leq N \leq 998244352
- 1 \leq K \leq 10^5

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

2 1

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

499122178

После одной операции вероятности того, что черный шар находится на 1-й и 2-й позиции слева, равны \displaystyle \frac{1}{2}. Таким образом, ожидаемое значение равно \displaystyle \frac{3}{2}.

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

3 2

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

554580198

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

4 4

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

592707587


Такахаши ест три тарелки на завтрак: рис, мисо-суп и салат.
Его стол длинный и узкий, поэтому он расставил три тарелки в ряд. Расположение задано строкой S, где i-я тарелка слева — это рис, если S_i — это R, мисо-суп, если S_i — это M, и салат, если S_i — это S.
Определите, находится ли тарелка с рисом слева от тарелки с мисо-супом.

Ввод

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

Вывод

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

Ограничения

- |S| = 3
- S содержит один R, один M и один S.

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

RSM

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

Yes

Тарелка с рисом находится на 1-й позиции слева, а тарелка с мисо-супом — на 3-й позиции слева. Так как тарелка с рисом находится слева, выведите «Да».

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

SMR

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

No

Тарелки расположены слева направо как салат, мисо-суп и рис.

Такаши ест три блюда на завтрак: рис, мисо-суп и салат.
Его стол длинный и узкий, поэтому он расставил три блюда в ряд. Расстановка задается строкой S, где i-е блюдо слева — это рис, если S_i равно R, мисо-суп, если S_i равно M, и салат, если S_i равно S.
Определите, находится ли блюдо с рисом слева от блюда с мисо-супом.

Ввод

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

Вывод

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

Ограничения

- |S| = 3
- S содержит одну R, одну M и одну S.

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

RSM

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

Yes

Блюдо с рисом находится на 1-й позиции слева, а блюдо с мисо-супом — на 3-й позиции слева. Так как блюдо с рисом слева, выведите Yes.

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

SMR

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

No

Блюда расставлены слева направо как салат, мисо-суп и рис.


Есть N муравьёв на числовой прямой, пронумерованных от 1 до N. Муравей i (1 \leq i \leq N) начинает на координате X_i и смотрит либо в положительном, либо в отрицательном направлении. Изначально все муравьи находятся на различных координатах. Направление, в котором смотрит каждый муравей, задано двоичной строкой S длины N, где муравей i смотрит в отрицательном направлении, если S_i равно 0, и в положительном направлении, если S_i равно 1.
Пусть текущее время равно 0, и муравьи двигаются в своем направлении со скоростью 1 единица в единицу времени в течение (T+0.1) единиц времени до времени (T+0.1). Если несколько муравьёв достигают одной и той же координаты, они проходят друг через друга, не меняя ни направления, ни скорости. Через (T+0.1) единиц времени все муравьи останавливаются.
Найдите количество пар (i, j), таких что 1 \leq i < j \leq N и муравьи i и j проходят мимо друг друга с настоящего момента до времени (T+0.1).

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

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

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

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

Ограничения

- 2 \leq N \leq 2 \times 10^{5}
- 1 \leq T \leq 10^{9}
- S — строка длины N, состоящая из 0 и 1.
- -10^{9} \leq X_i \leq 10^{9} (1 \leq i \leq N)
- X_i \neq X_j (1 \leq i < j \leq N)
- N, T и X_i (1 \leq i \leq N) — целые числа.

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

6 3
101010
-5 -1 0 1 2 4

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

5

Следующие пять пары муравьев проходят мимо друг друга:

- Муравей 3 и муравей 4 проходят друг мимо друга вовремя 0.5.
- Муравей 5 и муравей 6 проходят друг мимо друга вовремя 1.
- Муравей 1 и муравей 2 проходят друг мимо друга вовремя 2.
- Муравей 3 и муравей 6 проходят друг мимо друга вовремя 2.
- Муравей 1 и муравей 4 проходят друг мимо друга вовремя 3.

Другие пары муравьев не пересекаются, поэтому выведите 5.

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

13 656320850
0100110011101
-900549713 -713494784 -713078652 -687818593 -517374932 -498415009 -472742091 -390030458 -379340552 -237481538 -44636942 352721061 695864366

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

14

На числовой прямой, помеченной от 1 до N, находятся N муравьев. Муравей i (1 \leq i \leq N) начинает движение с координаты X_i и смотрит либо в положительном, либо в отрицательном направлении. Изначально все муравьи находятся в разных координатах. Направление, в которое смотрит каждый муравей, представлено двоичной строкой S длины N, где муравей i смотрит в отрицательном направлении, если S_i равно 0, и в положительном направлении, если S_i равно 1.
Пусть текущее время равно 0, а муравьи движутся в своих направлениях со скоростью 1 единица в единицу времени в течение (T+0,1) единиц времени до времени (T+0,1). Если несколько муравьев достигают одной и той же координаты, они проходят друг сквозь друга, не меняя направления или скорости. Через (T+0,1) единиц времени все муравьи останавливаются.
Найдите количество пар (i, j), таких, что 1 \leq i < j \leq N и муравьи i и j проходят друг мимо друга с настоящего момента до времени (T+0,1).

Ввод

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

Вывод

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

Ограничения

- 2 \leq N \leq 2 \times 10^{5}
- 1 \leq T \leq 10^{9}
- S — строка длины N, состоящая из 0 и 1.
- -10^{9} \leq X_i \leq 10^{9} (1 \leq i \leq N)
- X_i \neq X_j (1 \leq i < j \leq N)
- N, T и X_i (1 \leq i \leq N) — целые числа.

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

6 3
101010
-5 -1 0 1 2 4

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

5

Следующие пять пар муравьев проходят мимо друг друга:

- Муравей 3 и муравей 4 проходят мимо друг друга в момент времени 0,5.
- Муравей 5 и муравей 6 проходят мимо друг друга в момент времени 1.
- Муравей 1 и муравей 2 проходят мимо друг друга в момент времени 2.
- Муравей 3 и муравей 6 проходят мимо друг друга в момент времени 2.
- Муравей 1 и муравей 4 проходят мимо друг друга в момент времени 3.

Других пар муравьев нет, поэтому выведите 5.

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

13 656320850
0100110011101
-900549713 -713494784 -713078652 -687818593 -517374932 -498415009 -472742091 -390030458 -379340552 -237481538 -44636942 352721061 695864366

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

14


Имеется N+2 ячеек, расположенных в ряд. Пусть ячейка i обозначает i-ю ячейку слева.
В каждую из ячеек от ячейки 1 до ячейки N помещено по одному камню.
Для каждого 1 \leq i \leq N, камень в ячейке i белый, если S_i это W, и чёрный, если S_i это B.
Ячейки N+1 и N+2 пусты.
Вы можете выполнить следующую операцию любое количество раз (возможно, ноль):

- Выберите пару соседних ячеек, обе из которых содержат камни, и переместите эти два камня в две пустые ячейки, сохраняя их порядок.
  Точнее, выберите целое число x такое, что 1 \leq x \leq N+1 и обе ячейки x и x+1 содержат камни. Пусть k и k+1 это две пустые клетки. Переместите камни из ячеек x и x+1 в клетки k и k+1 соответственно.

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

- В каждой из ячеек от ячейки 1 до ячейки N содержится по одному камню, и для каждого 1 \leq i \leq N, камень в ячейке i белый, если T_i равен W, и чёрный, если T_i равен B.

Ввод

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

Вывод

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

Ограничения

- 2 \leq N \leq 14
- N это целое число.
- Каждый из S и T представляет собой строку длины N, состоящую из B и W.

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

6
BWBWBW
WWWBBB

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

4

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

- BWBWBW..
- BW..BWBW
- BWWBB..W
- ..WBBBWW
- WWWBBB..

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

6
BBBBBB
WWWWWW

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

-1

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

14
BBBWBWWWBBWWBW
WBWWBBWWWBWBBB

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

7

В ряду расположено N+2 ячеек. Пусть ячейка i обозначает i-ю ячейку слева.
В каждую из ячеек от ячейки 1 до ячейки N помещен один камень.
Для каждого 1 \leq i \leq N камень в ячейке i белый, если S_i — это W, и черный, если S_i — это B.
Ячейки N+1 и N+2 пусты.
Вы можете выполнить следующую операцию любое количество раз (возможно, ноль):

- Выберите пару соседних ячеек, в которых обе находятся камни, и переместите эти два камня в пустые две ячейки, сохраняя их порядок.
Точнее, выберите целое число x такое, что 1 \leq x \leq N+1 и обе ячейки x и x+1 содержат камни. Пусть k и k+1 — пустые две ячейки. Переместите камни из ячеек x и x+1 в ячейки k и k+1 соответственно.

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

- Каждая из ячеек от ячейки 1 до ячейки N содержит один камень, и для каждого 1 \leq i \leq N камень в ячейке i белый, если T_i — это W, и черный, если T_i — это B.

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

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

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

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

Ограничения

- 2 \leq N \leq 14
- N — целое число.
- Каждое из S и T — это строка длины N, состоящая из B и W.

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

6
BWBWBW
WWWBBB

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

4

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

- BWBWBW..
- BW..BWBW
- BWWBB..W
- ..WBBBWW
- WWWBBB..

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

6
BBBBBB
WWWWWW

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

-1

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

14
BBBWBWWWBBWWBW
WBWWBBWWWBWBBB

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

7

В ряду расположено N+2 ячеек. Пусть ячейка i обозначает i-ю ячейку слева.
В каждую из ячеек от ячейки 1 до ячейки N помещен один камень.
Для каждого 1 \leq i \leq N камень в ячейке i белый, если S_i — это W, и черный, если S_i — это B.
Ячейки N+1 и N+2 пусты.
Вы можете выполнить следующую операцию любое количество раз (возможно, ноль):

- Выберите пару соседних ячеек, в которых обе находятся камни, и переместите эти два камня в пустые две ячейки, сохраняя их порядок.
Точнее, выберите целое число x такое, что 1 \leq x \leq N+1 и обе ячейки x и x+1 содержат камни. Пусть k и k+1 — пустые две ячейки. Переместите камни из ячеек x и x+1 в ячейки k и k+1 соответственно.

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

- Каждая из ячеек от ячейки 1 до ячейки N содержит один камень, и для каждого 1 \leq i \leq N камень в ячейке i белый, если T_i — это W, и черный, если T_i — это B.

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

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

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

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

Ограничения

- 2 \leq N \leq 14
- N — целое число.
- Каждое из S и T — это строка длины N, состоящая из B и W.

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

6
BWBWBW
WWWBBB

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

4

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

- BWBWBW..
- BW..BWBW
- BWWBB..W
- ..WBBBWW
- WWWBBB..

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

6
BBBBBB
WWWWWW

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

-1

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

14
BBBWBWWWBBWWBW
WBWWBBWBWBBB

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

7


Вы пытаетесь реализовать обнаружение столкновений в 3D-игре.

В трехмерном пространстве пусть C(a,b,c,d,e,f) обозначает параллелепипед с диагональю, соединяющей точки (a,b,c) и (d,e,f), а также с гранями, параллельными плоскостям xy, yz или zx.
(Это определение однозначно задает C(a,b,c,d,e,f).)
Даны два параллелепипеда C(a,b,c,d,e,f) и C(g,h,i,j,k,l), определите, имеет ли их пересечение положительный объем.

Ввод

Ввод поступает из стандартного ввода в следующем формате:
a b c d e f
g h i j k l

Вывод

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

Ограничения

- 0 \leq a < d \leq 1000
- 0 \leq b < e \leq 1000
- 0 \leq c < f \leq 1000
- 0 \leq g < j \leq 1000
- 0 \leq h < k \leq 1000
- 0 \leq i < l \leq 1000
- Все входные значения являются целыми числами.

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

0 0 0 4 5 6
2 3 4 5 6 7

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

Yes

Позиционное отношение двух параллелепипедов показано на рисунке ниже, и их пересечение имеет объем 8.

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

0 0 0 2 2 2
0 0 2 2 2 4

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

No

Два параллелепипеда касаются одной грани, где объем пересечения равен 0.

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

0 0 0 1000 1000 1000
10 10 10 100 100 100

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

Yes

Вы пытаетесь реализовать обнаружение столкновений в 3D-игре.

В 3-мерном пространстве пусть C(a,b,c,d,e,f) обозначает кубоид с диагональю, соединяющей (a,b,c) и (d,e,f), и со всеми гранями, параллельными плоскости xy, плоскости yz или плоскости zx.
(Это определение однозначно определяет C(a,b,c,d,e,f).)
Для двух кубоидов C(a,b,c,d,e,f) и C(g,h,i,j,k,l) определите, имеет ли их пересечение положительный объем.

Ввод

Ввод дается из стандартного ввода в следующем формате:
a b c d e f
g h i j k l

Вывод

Выведите Yes, если пересечение двух кубоидов имеет положительный объем, и No в противном случае.

Ограничения

- 0 \leq a < d \leq 1000
- 0 \leq b < e \leq 1000
- 0 \leq c < f \leq 1000
- 0 \leq g < j \leq 1000
- 0 \leq h < k \leq 1000
- 0 \leq i < l \leq 1000
- Все входные значения являются целыми числами.

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

0 0 0 4 5 6
2 3 4 5 6 7

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

Yes

Позиционное отношение двух кубоидов показано на рисунке ниже, а их пересечение имеет объем 8.

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

0 0 0 2 2 2
0 0 2 2 2 4

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

No

Два кубоида соприкасаются на грани, где объем пересечения равен 0.

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

0 0 0 1000 1000 1000
10 10 10 100 100 100

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

Yes


Вам дана целочисленная последовательность A длины N и целые числа K и X.
Выведите целочисленную последовательность B, полученную путем вставки целого числа X сразу после K-го элемента последовательности A.

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

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

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

Выведите целочисленную последовательность B, полученную путем вставки целого числа X сразу после K-го элемента последовательности A, в следующем формате:
B_1 B_2 \dots B_{N+1}

Ограничения

- Все входные значения являются целыми числами.
- 1 \le K \le N \le 100
- 1 \le A_i, X \le 100

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

4 3 7
2 3 5 11

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

2 3 5 7 11

Для K=3, X=7 и A=(2,3,5,11) получаем B=(2,3,5,7,11).

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

1 1 100
100

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

100 100

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

8 8 3
9 9 8 2 4 4 3 5

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

9 9 8 2 4 4 3 5 3

Вам дана целочисленная последовательность A длины N и целые числа K и X.
Выведите целочисленную последовательность B, полученную вставкой целого числа X сразу после K-го элемента последовательности A.

Ввод

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

Вывод

Выведите целочисленную последовательность B, полученную вставкой целого числа X сразу после K-го элемента последовательности A, в следующем формате:
B_1 B_2 \dots B_{N+1}

Ограничения

- Все входные значения являются целыми числами.
- 1 \le K \le N \le 100
- 1 \le A_i, X \le 100

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

4 3 7
2 3 5 11

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

2 3 5 7 11

Для K=3, X=7, и A=(2,3,5,11), получаем B=(2,3,5,7,11).

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

1 1 100
100

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

100 100

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

8 8 3
9 9 8 2 4 4 3 5

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

9 9 8 2 4 4 3 5 3


Сколько целых чисел x между 1 и N, включительно, можно выразить как x = a^b, используя некоторое положительное целое число a и положительное целое число b не меньше 2?

Ввод

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

Вывод

Выведите ответ в виде целого числа.

Ограничения

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

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

99

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

12

Целые числа, которые удовлетворяют условиям задачи: 1, 4, 8, 9, 16, 25, 27, 32, 36, 49, 64, 81: их 12.

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

1000000000000000000

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

1001003332

Сколько целых чисел x от 1 до N включительно можно выразить как x = a^b, используя некоторое положительное целое число a и положительное целое число b не меньше 2?

Ввод

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

Вывод

Выведите ответ как целое число.

Ограничения

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

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

99

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

12

Целыми числами, которые удовлетворяют условиям в условии задачи, являются 1, 4, 8, 9, 16, 25, 27, 32, 36, 49, 64, 81: всего 12.

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

10000000000000000000

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

1001003332

Сколько целых чисел x между 1 и N, включительно, может быть выражено как x = a^b, используя какое -то положительное целое число A и положительное целое число B не менее 2?

Вход

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

Выход

Распечатайте ответ как целое число.

Ограничения

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

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

99

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

12

Целые числа, которые удовлетворяют условиям в заявлении о проблеме, - 1, 4, 8, 9, 16, 25, 27, 32, 36, 49, 64, 81: есть 12.

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

1000000000000000000

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

1001003332


У вас есть последовательность A длиной N.
Свободно выберите ровно K элементов из A и удалите их, затем соедините оставшиеся элементы в их исходном порядке, чтобы сформировать новую последовательность B.
Найдите минимальное возможное значение этого: максимальное значение B минус минимальное значение B.

Ввод

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

Вывод

Выведите ответ в виде целого числа.

Ограничения

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

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

5 2
3 1 5 4 9

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

2

Рассмотрим удаление ровно двух элементов из A=(3,1,5,4,9).

- Например, если вы удалите 2-й элемент 1 и 5-й элемент 9, полученная последовательность будет B=(3,5,4).
- В этом случае максимальное значение B равно 5, а минимальное значение равно 3, поэтому (максимальное значение B) - (минимальное значение B) =2, что является минимальным возможным значением.

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

6 5
1 1 1 1 1 1

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

0

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

8 3
31 43 26 6 18 36 22 13

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

18

Вам дана последовательность A длиной N.
Свободно выберите ровно K элементов из A и удалите их, затем соедините оставшиеся элементы в их исходном порядке, чтобы сформировать новую последовательность B.

Найдите минимально возможное значение этого: максимальное значение B минус минимальное значение B.

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

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

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

Выведите ответ как целое число.

Ограничения

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

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

5 2
3 1 5 4 9

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

2

Рассмотрите возможность удаления ровно двух элементов из A=(3,1,5,4,9).

- Например, если удалить 2-й элемент 1 и 5-й элемент 9, то результирующая последовательность будет B=(3,5,4).
- В этом случае максимальное значение B равно 5, а минимальное значение равно 3, поэтому (максимальное значение B) - (минимальное значение B) = 2, что является минимально возможным значением.

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

6 5
1 1 1 1 1 1

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

0

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

8 3
31 43 26 6 18 36 22 13

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

18


В стране AtCoder N городов, пронумерованных от 1 до N, и N-1 дорог, пронумерованных от 1 до N-1. Дорога i соединяет города A_i и B_i в обоих направлениях, ее длина — C_i. До любой пары городов можно добраться, проехав по дорогам. Найди минимальное расстояние, начиная с какого-либо города и заезжая во все города хотя бы один раз, используя дороги.

Ввод

Ввод осуществляется посредством стандартного ввода в следующем формате:
N
A_1 B_1 C_1
\vdots
A_{N-1} B_{N-1} C_{N-1}

Вывод

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

Ограничения

- 2 \leq N \leq 2\times 10^5
- 1 \leq A_i, B_i \leq N
- 1 \leq C_i \leq 10^9
- Все входные значения являются целыми числами.
- До любой пары городов можно добраться, проехав по дорогам.

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

4
1 2 2
1 3 3
1 4 4

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

11

Если ехать из 4 \до 1 \до 2 \до 1 \до 3, общее расстояние составит 11, что является минимальным. Возвращаться в начальный город не нужно.

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

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

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

9000000000

Осторожно с переполнением.

В стране аткодер есть города N, пронумерованные от 1 до N, и дороги N-1, пронумерованные от 1 до N-1.
Дорога i соединяет города A_i и B_i в обоих направлениях, и ее длина составляет C_i. Любая пара городов может быть достигнута друг от друга, путешествуя по некоторым дорогам.
Найдите минимальное расстояние, необходимое для начала поездки из города, и посетите все города хотя бы Один раз, используя дороги.

Информация о проекте

Ввод осуществляется из стандартного ввода в следующем формате:
N
A_1 B_1 C_1
\vdots
A_{N-1} B_{N-1} C_{N-1}

Вывод

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

ограничения

- 2 \leq N \leq 2\times 10^5
- 1 \leq A_i, B_i \leq N
- 1 \leq C_i \leq 10^9
- все входные значения являются числами.
- любая пара городов может быть достигнута друг от друга, путешествуя по некоторым дорогам.

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

4
1 2 2
1 3 3
1 4 4

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

11

Если вы путешествуете от 4 \ до 1 \ до 2 \ до 1 \ до 3, то общее расстояние поездки составляет 11, что является минимальным.
Обратите внимание, что вам не нужно возвращаться в стартовый город.

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

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

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

9000000000

Будьте осторожны с переполнением.

В стране AtCoder есть N городов, пронумерованных от 1 до N, и N-1 дорог, пронумерованных от 1 до N-1.
Дорога i соединяет города A_i и B_i в двух направлениях, а ее длина равна C_i. До любой пары городов можно добраться, проехав по некоторым дорогам.

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

Ввод

Ввод дается из стандартного ввода в следующем формате:
N
A_1 B_1 C_1
\vdots
A_{N-1} B_{N-1} C_{N-1}

Вывод

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

Ограничения

- 2 \leq N \leq 2\times 10^5
- 1 \leq A_i, B_i \leq N
- 1 \leq C_i \leq 10^9
- Все входные значения являются целыми числами.
- До любой пары городов можно добраться друг от друга, проехав по некоторым дорогам.

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

4
1 2 2
1 3 3
1 4 4

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

11

Если вы путешествуете как 4 \to 1 \to 2 \to 1 \to 3, общее расстояние путешествия составит 11, что является минимальным.
Обратите внимание, что вам не нужно возвращаться в начальный город.

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

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

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

9000000000

Остерегайтесь переполнения.


Дан простой связный неориентированный граф с N вершинами и M рёбрами. Каждая вершина i,(1\leq i \leq N) имеет вес A_i. Каждое ребро j,(1\leq j \leq M) соединяет вершины U_j и V_j двунаправленно и имеет вес B_j.
Вес пути в этом графе определяется как сумма весов вершин и рёбер, которые встречаются на пути.
Для каждого i=2,3,\dots,N решите следующую задачу:

- Найдите минимальный вес пути от вершины 1 до вершины i.

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

Входные данные поступают со стандартного ввода в следующем формате:
N M
A_1 A_2 \dots A_N
U_1 V_1 B_1
U_2 V_2 B_2
\vdots
U_M V_M B_M

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

Выведите ответы для i=2,3,\dots,N в одной строке, разделённые пробелами.

Ограничения

- 2 \leq N \leq 2 \times 10^5
- N-1 \leq M \leq 2 \times 10^5
- 1 \leq U_j < V_j \leq N
- (U_i, V_i) \neq (U_j, V_j) если i \neq j.
- Граф связный.
- 0 \leq A_i \leq 10^9
- 0 \leq B_j \leq 10^9
- Все входные значения являются целыми числами.

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

3 3
1 2 3
1 2 1
1 3 6
2 3 2

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

4 9

Рассмотрим пути от вершины 1 до вершины 2.
Вес пути 1 \to 2 равен A_1 + B_1 + A_2 = 1 + 1 + 2 = 4, а вес пути 1 \to 3 \to 2 равен A_1 + B_2 + A_3 + B_3 + A_2 = 1 + 6 + 3 + 2 + 2 = 14. Минимальный вес равен 4.
Рассмотрим пути от вершины 1 до вершины 3.
Вес пути 1 \to 3 равен A_1 + B_2 + A_3 = 1 + 6 + 3 = 10, а вес пути 1 \to 2 \to 3 равен A_1 + B_1 + A_2 + B_3 + A_3 = 1 + 1 + 2 + 2 + 3 = 9. Минимальный вес равен 9.

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

2 1
0 1
1 2 3

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

4

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

5 8
928448202 994752369 906965437 942744902 907560126
2 5 975090662
1 2 908843627
1 5 969061140
3 4 964249326
2 3 957690728
2 4 942986477
4 5 948404113
1 3 988716403

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

2832044198 2824130042 4696218483 2805069468

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

Вам дан простой связный неориентированный граф с N вершинами и M ребрами. Каждая вершина i\,(1\leq i \leq N) имеет вес A_i. Каждое ребро j\,(1\leq j \leq M) соединяет вершины U_j и V_j в двух направлениях и имеет вес B_j.
Вес пути в этом графе определяется как сумма весов вершин и ребер, которые появляются на пути.
Для каждого i=2,3,\dots,N решите следующую задачу:

- Найдите минимальный вес пути из вершины 1 в вершину i.

Ввод

Вводные данные задаются из стандартного ввода в следующем формате:
N M
A_1 A_2 \dots A_N
U_1 V_1 B_1
U_2 V_2 B_2
\vdots
U_M V_M B_M

Вывод

Выведите ответы для i=2,3,\dots,N в одну строку, разделенные пробелами.

Ограничения

- 2 \leq N \leq 2 \times 10^5
- N-1 \leq M \leq 2 \times 10^5
- 1 \leq U_j < V_j \leq N
- (U_i, V_i) \neq (U_j, V_j) if i \neq j.
- The graph is connected.
- 0 \leq A_i \leq 10^9
- 0 \leq B_j \leq 10^9
- Все входные значения являются целыми числами.

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

3 3
1 2 3
1 2 1
1 3 6
2 3 2

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

4 9

Рассмотрим пути из вершины 1 в вершину 2.
Вес пути 1 \to 2 равен A_1 + B_1 + A_2 = 1 + 1 + 2 = 4, а вес пути 1 \to 3 \to 2 равен A_1 + B_2 + A_3 + B_3 + A_2 = 1 + 6 + 3 + 2 + 2 = 14. Минимальный вес равен 4.
Рассмотрим пути из вершины 1 в вершину 3.
Вес пути 1 \to 3 равен A_1 + B_2 + A_3 = 1 + 6 + 3 = 10, а вес пути 1 \to 2 \to 3 равен A_1 + B_1 + A_2 + B_3 + A_3 = 1 + 1 + 2 + 2 + 3 = 9. Минимальный вес — 9.

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

2 1
0 1
1 2 3

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

4

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

5 8
928448202 994752369 906965437 942744902 907560126
2 5 975090662
1 2 908843627
1 5 969061140
3 4 964249326
2 3 957690728
2 4 942986477
4 5 948404113
1 3 988716403

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

2832044198 2824130042 4696218483 2805069468

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

Дан простой связный неориентированный граф с N вершинами и M рёбрами. Каждая вершина i\,(1\leq i \leq N) имеет вес A_i. Каждое ребро j\,(1\leq j \leq M) соединяет вершины U_j и V_j двунаправленно и имеет вес B_j. Вес пути в этом графе определяется как сумма весов вершин и рёбер, которые встречаются на пути. Для каждого i=2,3,\dots,N решите следующую задачу:

- Найдите минимальный вес пути от вершины 1 до вершины i.

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

Входные данные поступают со стандартного ввода в следующем формате:
N M
A_1 A_2 \dots A_N
U_1 V_1 B_1
U_2 V_2 B_2
\vdots
U_M V_M B_M

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

Выведите ответы для i=2,3,\dots,N в одной строке, разделённые пробелами.

Ограничения

- 2 \leq N \leq 2 \times 10^5
- N-1 \leq M \leq 2 \times 10^5
- 1 \leq U_j < V_j \leq N
- (U_i, V_i) \neq (U_j, V_j) если i \neq j.
- Граф связный.
- 0 \leq A_i \leq 10^9
- 0 \leq B_j \leq 10^9
- Все входные значения являются целыми числами.

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

3 3
1 2 3
1 2 1
1 3 6
2 3 2

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

4 9

Рассмотрим пути от вершины 1 до вершины 2. Вес пути 1 \to 2 равен A_1 + B_1 + A_2 = 1 + 1 + 2 = 4, а вес пути 1 \to 3 \to 2 равен A_1 + B_2 + A_3 + B_3 + A_2 = 1 + 6 + 3 + 2 + 2 = 14. Минимальный вес равен 4.
Рассмотрим пути от вершины 1 до вершины 3. Вес пути 1 \to 3 равен A_1 + B_2 + A_3 = 1 + 6 + 3 = 10, а вес пути 1 \to 2 \to 3 равен A_1 + B_1 + A_2 + B_3 + A_3 = 1 + 1 + 2 + 2 + 3 = 9. Минимальный вес равен 9.

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

2 1
0 1
1 2 3

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

4

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

5 8
928448202 994752369 906965437 942744902 907560126
2 5 975090662
1 2 908843627
1 5 969061140
3 4 964249326
2 3 957690728
2 4 942986477
4 5 948404113
1 3 988716403

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

2832044198 2824130042 4696218483 2805069468

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


Вам дана последовательность A = (A_1, A_2, \dots, A_N) длины N. Для каждого k = 1, 2, \dots, N найдите число по модулю 998244353 (не обязательно смежных) подпоследовательностей A длины k, которые являются арифметическими последовательностями. Две подпоследовательности различаются, если они взяты из разных позиций, даже если они равны как последовательности.

Что такое подпоследовательность?
Подпоследовательность последовательности A — это последовательность, полученная путем удаления нуля или более элементов из A и расположения оставшихся элементов без изменения порядка.

Ввод

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

Вывод

Выведите ответы для k = 1, 2, \dots, N в этом порядке в одну строку, разделив их пробелами.

Ограничения

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

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

5
1 2 3 2 3

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

5 10 3 0 0

- Имеется 5 подпоследовательностей длины 1, все из которых являются арифметическими последовательностями.
- Имеется 10 подпоследовательностей длины 2, все из которых являются арифметическими последовательностями.
- Имеется 3 подпоследовательности длины 3, которые являются арифметическими последовательностями: (A_1, A_2, A_3), (A_1, A_2, A_5) и (A_1, A_4, A_5).
- Арифметических подпоследовательностей длины 4 или более нет.

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

4
1 2 3 4

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

4 6 2 1

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

1
100

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

1

Вам дана последовательность A = (A_1, A_2, \dots, A_N) длиной N. Для каждой k = 1, 2, \dots, N, найдите число, модуль 998244353, (не обязательно пересекающихся) подпоследовательностей A длины k, которые являются арифметическими последовательностями. Две подпоследовательности разграничиваются, если они берутся из различных позиций, даже если они равны как последовательности.

Что есть подпоследовательность?
Подпоследовательность последовательности A - это последовательность, полученная путем удаления нуля или более элементов из A и расположения оставшихся элементов без изменения порядка.

Input

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

Output

Print the answers for k = 1, 2, \dots, N in this order, in a single line, separated by spaces.

Constraints

- 1 \leq N \leq 80
- 1 \leq A_i \leq 10^9
- All input values are integers.

Sample Input 1

5
1 2 3 2 3

Sample Output 1

5 10 3 0 0

- There are 5 subsequences of length 1, all of which are arithmetic sequences.
- There are 10 subsequences of length 2, all of which are arithmetic sequences.
- There are 3 subsequences of length 3 that are arithmetic sequences: (A_1, A_2, A_3), (A_1, A_2, A_5), and (A_1, A_4, A_5).
- There are no arithmetic subsequences of length 4 or more.

Sample Input 2

4
1 2 3 4

Sample Output 2

4 6 2 1

Sample Input 3

1
100

Sample Output 3

1


Вам даны N пар целых чисел (L_1, R_1), (L_2, R_2), \ldots, (L_N, R_N).
Определите, существует ли последовательность из N целых чисел X = (X_1, X_2, \ldots, X_N), которая удовлетворяет следующим условиям, и выведите одну такую последовательность, если она существует.

- L_i \leq X_i \leq R_i для каждого i = 1, 2, \ldots, N.
- \displaystyle \sum_{i=1}^N X_i = 0.

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

Входные данные задаются из стандартного ввода в следующем формате:
N
L_1 R_1
L_2 R_2
\vdots
L_N R_N

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

Если решения не существует, выведите No. В противном случае выведите целочисленную последовательность X, которая удовлетворяет условиям в следующем формате:
Yes
X_1 X_2 \ldots X_N

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

Ограничения

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

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

3
3 5
-4 1
-2 3

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

Yes
4 -3 -1

Последовательность X = (4, -3, -1) удовлетворяет всем условиям. Другие допустимые последовательности включают (3, -3, 0) и (5, -4, -1).

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

3
1 2
1 2
1 2

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

No

Ни одна последовательность X не удовлетворяет условиям.

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

6
-87 12
-60 -54
2 38
-76 6
87 96
-17 38

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

Yes
-66 -57 31 -6 89 9

Даны N пар целых чисел (L_1, R_1), (L_2, R_2), \ldots, (L_N, R_N).
Определи, существует ли последовательность из N целых чисел X = (X_1, X_2, \ldots, X_N), которая удовлетворяет следующим условиям, и выведи одну такую последовательность, если она существует.

- L_i \leq X_i \leq R_i для каждого i = 1, 2, \ldots, N.
- \displaystyle \sum_{i=1}^N X_i = 0.

Ввод

Ввод осуществляется посредством стандартного ввода в следующем формате:
N
L_1 R_1
L_2 R_2
\vdots
L_N R_N

Вывод

Если решения не существует, выведи No. В противном случае выведи последовательность целых чисел X, которая удовлетворяет условиям, в следующем формате:
Yes
X_1 X_2 \ldots X_N

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

Ограничения

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

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

3
3 5
-4 1
-2 3

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

Yes
4 -3 -1

Последовательность X = (4, -3, -1) удовлетворяет всем условиям. Другие допустимые последовательности включают (3, -3, 0) и (5, -4, -1).

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

3
1 2
1 2
1 2

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

No

Никакая последовательность X не удовлетворяет условиям.

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

6
-87 12
-60 -54
2 38
-76 6
87 96
-17 38

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

Yes
-66 -57 31 -6 89 9

Даны N пар целых чисел (L_1, R_1), (L_2, R_2), \ldots, (L_N, R_N).
Определите, существует ли последовательность из N целых чисел X = (X_1, X_2, \ldots, X_N), которая удовлетворяет следующим условиям, и выведите одну такую последовательность, если она существует.

- L_i \leq X_i \leq R_i для каждого i = 1, 2, \ldots, N.
- \displaystyle \sum_{i=1}^N X_i = 0.

Ввод

Ввод поступает из стандартного ввода в следующем формате:
N
L_1 R_1
L_2 R_2
\vdots
L_N R_N

Вывод

Если решения не существует, выведите No. В противном случае выведите последовательность целых чисел X, которая удовлетворяет условиям, в следующем формате:
Yes
X_1 X_2 \ldots X_N

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

Ограничения

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

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

3
3 5
-4 1
-2 3

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

Yes
4 -3 -1

Последовательность X = (4, -3, -1) удовлетворяет всем условиям. Другие допустимые последовательности включают (3, -3, 0) и (5, -4, -1).

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

3
1 2
1 2
1 2

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

No

Никакая последовательность X не удовлетворяет условиям.

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

6
-87 12
-60 -54
2 38
-76 6
87 96
-17 38

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

Yes
-66 -57 31 -6 89 9


Такахаши пришёл в магазин, чтобы купить ручку. Здесь красная ручка стоит R иен, зелёная ручка стоит G иен, а синяя ручка стоит B иен.
Такахаши не нравится цвет C. Если C красный, он не может купить красную ручку; если C зелёный, он не может купить зеленую ручку; и если C синий, он не может купить синюю ручку.
Определите минимальную сумму денег, необходимую ему для покупки одной ручки.

Ввод

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

Вывод

Если минимальная сумма денег, необходимая Такахаши для покупки одной ручки, равна Х иен, выведите X.

Ограничения

-  1\leq R,G,B\leq 100
- R, G, и B целые числа.
- C это красный, зелёный или синий.

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

20 30 10
Blue

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

20

Красная ручка стоит 20 иен, зеленая ручка 30 иен, синяя ручка 10 иен. Такахаши не может купить синюю ручку, но может купить красную ручку за 20 иен.

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

100 100 100
Red

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

100

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

37 39 93
Blue

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

37

Такахаcи пришел в магазин, чтобы купить ручку. Здесь красная ручка стоит R йен, зеленая ручка стоит G йен, а синяя ручка стоит B йен.
Такахаcи не нравятся ручки цвета C. Если C — Красный, он не может купить красную ручку; если C — Зеленый, он не может купить зеленую ручку; и если C — Синий, он не может купить синюю ручку.
Определите минимальную сумму денег, необходимую для покупки одной ручки.

Ввод

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

Вывод

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

Ограничения

-  1\leq R,G,B\leq 100
- R, G и B — целые числа.
- C — Красный, Зеленый или Синий.

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

20 30 10
Blue

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

20

Красная ручка стоит 20 йен, зеленая ручка стоит 30 йен, а синяя ручка стоит 10 йен. Такахаси не может купить синюю ручку, но он может купить красную ручку за 20 йен.

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

100 100 100
Red

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

100

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

37 39 93
Blue

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

37

Такахаши пришел в магазин, чтобы купить ручку. Здесь красная ручка стоит R иен, зеленая ручка стоит G иен, а синяя ручка стоит B иен.
Такахаши не нравится цвет C. Если C — Red, он не может купить красную ручку; если C — зеленый, он не может купить зеленую ручку; а если C — blue, он не может купить синюю ручку.
Определите минимальную сумму денег, необходимую для покупки одной ручки.

Ввод

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

Вывод

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

Ограничения

- 1\leq R,G,B\leq 100
- R, G и B — целые числа.
- C — Red, зеленый или blue.

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

20 30 10
Blue

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

20

Красная ручка стоит 20 иен, зеленая ручка стоит 30 иен, а синяя ручка стоит 10 иен. Такахаши не может купить синюю ручку, но он может купить красную ручку за 20 иен.

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

100 100 100
Red

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

100

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

37 39 93
Blue

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

37


На плоскости xy заданы три точки A(x_A, y_A), B(x_B, y_B) и C(x_C, y_C), которые не лежат на одной прямой. Определите, является ли треугольник ABC прямоугольным.

Ввод

Ввод осуществляется со стандартного ввода в следующем формате:
x_A y_A
x_B y_B
x_C y_C

Вывод

Выведите Yes, если треугольник ABC является прямоугольным, и No в противном случае.

Ограничения

- -1000 \leq x_A, y_A, x_B, y_B, x_C, y_C \leq 1000
- Три точки A, B и C не лежат на одной прямой.
- Все входные значения являются целыми числами.

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

0 0
4 0
0 3

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

Yes

Треугольник ABC является прямоугольным.

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

-4 3
2 1
3 4

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

Yes

Треугольник ABC является прямоугольным.

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

2 4
-3 2
1 -2

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

No

Треугольник ABC не является прямоугольным.

В плоскости xy есть три точки A(x_A, y_A), B(x_B, y_B), и C(x_C, y_C) которые не лежат на одной прямой. Определите, является ли треугольник ABC прямоугольным.

Ввод

Вводные данные передаются из стандартного ввода в следующем формате:
x_A y_A
x_B y_B
x_C y_C

Вывод

Выведите Yes, если треугольник ABC прямоугольный, и No в противном случае.

Ограничения

- -1000 \leq x_A, y_A, x_B, y_B, x_C, y_C \leq 1000
- Три точки A, B, и C не лежат на одной прямой.
- Все входные значения являются целыми числами.

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

0 0
4 0
0 3

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

Yes

Треугольник АВС является прямоугольным.

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

-4 3
2 1
3 4

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

Yes

Треугольник АВС является прямоугольным.

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

2 4
-3 2
1 -2

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

No

Треугольник ABC не является прямоугольным.


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

- Когда рейтинг находится в пределах от 1 до 99 включительно, ^ отображается один раз.
- Когда рейтинг находится в пределах от 100 до 199 включительно, ^ отображается дважды.
- Когда рейтинг находится в пределах от 200 до 299 включительно, ^ отображается три раза.
- Когда рейтинг находится в пределах от 300 до 399 включительно, ^ отображается четыре раза.

В данный момент рейтинг Такахаси равен R. Здесь гарантируется, что R — это целое число в пределах от 1 до 299 включительно.
Найдите минимальное увеличение рейтинга, необходимое для того, чтобы увеличить количество отображаемых ^.
Можно доказать, что в рамках ограничений этой задачи он сможет увеличить количество ^, не подняв свой рейтинг до 400 или выше.

Ввод

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

Вывод

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

Ограничения

- 1 \leq R \leq 299
- R — целое число.

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

123

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

77

Текущий рейтинг Такахаси равен 123, ^ отображается дважды.
Увеличив рейтинг на 77, его рейтинг станет 200, и ^ будет отображаться трижды.
Когда рейтинг ниже 199, ^ отображается не более двух раз, поэтому вывести 77.

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

250

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

50

В AtCoder, рейтинг пользователя дается как положительное целое, и на основе этого значения, определенное число ^ отображается.
В частности, когда рейтинг от 1 до 399 включительно, правила отображения являются следующими:

- когда рейтинг между 1 и 99, включительно, ^ отображается Один раз.
- когда рейтинг между 100 и 199, включительно, ^ отображается дважды.
- когда рейтинг между 200 и 299, включительно, ^ отображается три раза.
- когда рейтинг от 300 до 399, включительно, ^ отображается четыре раза.

В настоящее время рейтинг Такахаши R. здесь гарантируется, что R является целым числом от 1 до 299 включительно.
Найдите минимальное увеличение рейтинга, необходимое для увеличения числа отображаемых ^.
Можно доказать, что в рамках ограничений этой проблемы, он может увеличить число ^, не повышая свой рейтинг до 400 или выше.

Информация о проекте

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

Выход

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

Ограничения

- 1 \leq R \leq 299
- R-целое число.

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

123

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

77

Текущий рейтинг Такахаши 123, и ^ отображается дважды.
Если увеличить его рейтинг на 77, он достигнет 200 и ^ будет отображаться три раза.
Если рейтинг 199 или ниже, ^ отображается не более двух раз, так что распечатать 77.

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

250

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

50


Дано целое число N. Напечатайте строку S, которая удовлетворяет всем следующим условиям. Если такой строки не существует, напечатайте -1.

- S — строка длиной от 1 до 1000 включительно, состоящая из символов 1, 2, 3, 4, 5, 6, 7, 8, 9 и * (знак умножения).
- S является палиндромом.
- Первый символ S — цифра.
- Значение S, когда оно оценивается как формула, равно N.

Ввод

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

Вывод

Если существует строка S, удовлетворяющая условиям, выведите такую строку. В противном случае выведите -1.

Ограничения

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

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

363

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

11*3*11

S = 11*3*11 удовлетворяет всем условиям из условия задачи. Другая строка, удовлетворяющая условиям, это S = 363.

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

101

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

-1

Обратите внимание, что S не должно содержать цифру 0.

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

3154625100

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

2*57*184481*75*2

Вам дано целое число N. Выведите строку S, которая удовлетворяет всем следующим условиям. Если такой строки не существует, выведите -1.

- S — это строка длиной от 1 до 1000 включительно, состоящая из символов 1, 2, 3, 4, 5, 6, 7, 8, 9 и * (символ умножения).
- S — палиндром.
- Первый символ S — это цифра.
- Значение S при вычислении в виде формулы равно N.

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

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

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

Если существует строка S, удовлетворяющая условиям, выведите такую строку. В противном случае выведите -1.

Ограничения

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

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

363

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

11*3*11

S = 11*3*11 удовлетворяет условиям в условии задачи. Другая строка, которая удовлетворяет условиям, — S= 363.

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

101

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

-1

Обратите внимание, что S не должна содержать цифру 0.

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

3154625100

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

2*57*184481*75*2

Вам дано целое число N. Выведите строку S, удовлетворяющую всем следующим условиям. Если такой строки не существует, выведите -1.

- S это строка длиной от 1 до 1000 включительно, состоящая из символов 1, 2, 3, 4, 5, 6, 7, 8, 9, и * (символ умножения).
- S это палиндром.
- Первый символ S это цифра.
- Значение S при расчёте по формуле равно N.

Ввод

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

Вывод

Если существует строка S, удовлетворяющая условиям существования, выведите такую строку. В противном случае выведите -1.

Ограничения

- 1 \leq N \leq 10^{12}
- N это целое число.

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

363

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

11*3*11

S = 11*3*11 удовлетворяет условиям постановки задачи. Другая строка, удовлетворяющая условиям, это S= 363.

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

101

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

-1

Обратите внимание, что S не должно содержать цифру 0.

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

3154625100

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

2*57*184481*75*2