Takahashi má N párů ponožek a i-tý pár se skládá ze dvou ponožek barvy i.
Jednoho dne si Takahaši po uspořádání své komody uvědomil, že ztratil po jedné ponožce barev A_1, A_2, \dots, A_K, a tak se rozhodl použít zbývajících 2N-K ponožek k výrobě \lfloor\frac{2N-K}{2}\rfloor nových párů ponožek, přičemž každý pár se skládá ze dvou ponožek.
Podivnost páru ponožky barvy i a ponožky barvy j je definována jako |i-j| a Takahaši chce minimalizovat celkovou podivnost.
Najděte nejmenší možnou celkovou podivnost při vytváření \lfloor\frac{2N-K}{2}\rfloor párů ze zbývajících ponožek.
Všimněte si, že pokud je 2N-K lichých, bude existovat jedna ponožka, která nebude zahrnuta do žádné dvojice.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N K
A_1 A_2 \dots A_K

Výstup

Vypíše minimální celkovou podivnost jako celé číslo.

Omezení

- 1\leq K\leq N \leq 2\times 10^5
- 1\leq A_1 < A_2 < \dots < A_K \leq N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

4 2
1 3

Ukázkový výstup 1

2

Níže nechť (i,j) označuje dvojici ponožky barvy i a ponožky barvy j.
Existuje 1, 2, 1, 2 ponožky barev 1, 2, 3, 4, v tomto pořadí.
Vytvoření dvojic (1,2),(2,3),(4,4) vede k celkové podivnosti |1-2|+|2-3|+|4-4|=2, což je minimum.

Ukázka vstupu 2

5 1
2

Ukázkový výstup 2

0

Optimálním řešením je vytvořit dvojice (1,1),(3,3),(4,4),(5,5) a ponechat jednu ponožku barvy 2 jako přebytečnou (nezahrnutou do žádné dvojice).

Vzorový vstup 3

8 5
1 2 4 7 8

Vzorový výstup 3

2

Takahashi má N párů ponožek a i-tý pár se skládá ze dvou ponožek barvy i.
Jednoho dne, po uspořádání své komody, si Takahashi uvědomil, že ztratil jednu ponožku v každé z barev A_1, A_2, ..., A_K, a tak se rozhodl použít zbývajících 2N-K ponožek k výrobě \lfloor\frac{2N- K}{2}\rpodlaha nové páry ponožek, každý pár se skládá ze dvou ponožek.
Podivnost páru ponožky barvy i a ponožky barvy j je definována jako |i-j| a Takahashi chce celkovou podivnost minimalizovat.
Najděte minimální možnou celkovou podivnost při vytváření \lfloor\frac{2N-K}{2}\rfloor párů ze zbývajících ponožek.
Všimněte si, že pokud je 2N-K liché, bude zde jedna ponožka, která není součástí žádného páru.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N K
A_1 A_2 ... A_K

Výstup

Vytiskněte minimální celkovou podivnost jako celé číslo.

Omezení

- 1\leq K\leq N \leq 2 \times 10^5
- 1\leq A_1 < A_2 < ... < A_K \leq N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

4 2
1 3

Ukázkový výstup 1

2

Níže označme (i,j) pár ponožky barvy i a ponožky barvy j.
K dispozici jsou 1, 2, 1, 2 ponožky barev 1, 2, 3, 4, resp.
Vytvoření dvojic (1,2),(2,3),(4,4) má za následek celkovou podivnost |1-2|+|2-3|+|4-4|=2, což je minimum .

Ukázkový vstup 2

5 1
2

Ukázkový výstup 2

0

Optimálním řešením je vytvořit páry (1,1),(3,3),(4,4),(5,5) a nechat jednu ponožku barvy 2 jako přebytek (není součástí žádného páru).

Ukázkový vstup 3

8 5
1 2 4 7 8

Ukázkový výstup 3

2

Takahashi má N párů ponožek a i-tý pár se skládá ze dvou ponožek barvy i.
Jednoho dne, po uspořádání své komody, si Takahashi uvědomil, že ztratil jednu ponožku v každé z barev A_1, A_2, \tečky, A_K, a tak se rozhodl použít zbývajících 2N-K ponožek k výrobě \lfloor\frac{2N- K}{2}\rpodlaha nové páry ponožek, každý pár se skládá ze dvou ponožek.
Podivnost páru ponožky barvy i a ponožky barvy j je definována jako |i-j| a Takahashi chce celkovou podivnost minimalizovat.
Najděte minimální možnou celkovou podivnost při vytváření \lfloor\frac{2N-K}{2}\rfloor párů ze zbývajících ponožek.
Všimněte si, že pokud je 2N-K liché, bude zde jedna ponožka, která není součástí žádného páru.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N K
A_1 A_2 \dots A_K

Výstup

Vytiskněte minimální celkovou podivnost jako celé číslo.

Omezení

- 1\leq K\leq N \leq 2\times 10^5
- 1\leq A_1 < A_2 < \tečky < A_K \leq N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

4 2
1 3

Ukázkový výstup 1

2

Níže označme (i,j) pár ponožky barvy i a ponožky barvy j.
K dispozici jsou 1, 2, 1, 2 ponožky barev 1, 2, 3, 4, resp.
Vytvoření dvojic (1,2),(2,3),(4,4) má za následek celkovou podivnost |1-2|+|2-3|+|4-4|=2, což je minimum .

Ukázkový vstup 2

5 1
2

Ukázkový výstup 2

0

Optimálním řešením je vytvořit páry (1,1),(3,3),(4,4),(5,5) a nechat jednu ponožku barvy 2 jako přebytek (není součástí žádného páru).

Ukázkový vstup 3

8 5
1 2 4 7 8

Ukázkový výstup 3

2


Je dáno \( N \) saní očíslovaných 1, 2, \ldots, N.
Ktaždé saně \( i \) je potřeba \( R_i \) sobů.
Každý sob může táhnout nejvýše jedny saně. Přesněji, \(\sum_{k=1}^{m} R_{i_k}\) sobů je potřeba k tažení m saní \( i_1, i_2, \ldots, i_m \).
Najděte odpověď na Q dotazů následujícího formátu:

- Je vám dáno celé číslo \( X \). Určete maximální počet saní, které mohou být taženy, když je k dispozici \( X \) sobů.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N Q
R_1 R_2 \ldots R_N
\text{dotaz}_1
\text{dotaz}_2
\vdots
\text{dotaz}_Q

Každý dotaz je dán v následujícím formátu:
X

Výstup

Vytiskněte Q řádků.
i-tý řádek by měl obsahovat odpověď na i-tý dotaz.

Omezení

- 1 \leq N, Q \leq 2 \times 10^5
- 1 \leq R_i \leq 10^9
- 1 \leq X \leq 2 \times 10^{14}
- Všechny vstupní hodnoty jsou celá čísla.

Příklad vstupu 1

4 3
5 3 11 8
16
7
1000

Příklad výstupu 1

3
1
4

Když je k dispozici 16 sobů, mohou být taženy saně 1, 2 a 4.
Není možné táhnout čtyři saně s 16 soby, takže odpověď na dotaz 1 je 3.

Příklad vstupu 2

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

Příklad výstupu 2

1
1
2
2
2
3

Příklad vstupu 3

2 2
1000000000 1000000000
200000000000000
1

Příklad výstupu 3

2
0

Existuje N saní s čísly 1,2,\ldots, N.
R_i sobi musí táhnout sáně i.
Každý sob může navíc táhnout nejvýše jedny sáně. Přesněji řečeno, \sum_{k=1}^{m} R_{i_k} sobů musí táhnout m saní i_1, i_2, \ldots, i_m.
Najděte odpověď na dotazy Q následujícího tvaru:

- Určete maximální počet saní, které mohou být taženy, když je X sobů.

Zadání:

Vstup je zadán ze standardního vstupu v následujícím formátu:
N Q
R_1 R_2 \ldots R_N
\text{query}_1
\text{query}_2
\vdots
\text{query}_Q

Každý dotaz je uveden v následujícím formátu:
X

Výstup

Vytiskněte Q řádků.
Na i-tém řádku by měla být odpověď na i-tý dotaz.

Omezení

- 1 \leq N, Q \leq 2 \times 10^5
- 1 \leq R_i \leq 10^9
- 1 \leq X \leq 2 \times 10^{14}
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

4 3
5 3 11 8
16
7
1000

Ukázka výstupu 1

3
1
4

Když je k dispozici 16 sobů, mohou být taženy saně 1, 2 a 4.
Při 16 sobech nelze táhnout čtyři saně, takže odpověď na dotaz 1 je 3.

Vzorový vstup 2

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

Ukázka výstupu 2

1
1
2
2
2
3

Vzorový vstup 3

2 2
1000000000 1000000000
200000000000000
1

Ukázka výstupu 3

2
0

There are N sleighs numbered 1,2,\ldots, N.
R_i reindeer are required to pull sleigh i.
Additionally, each reindeer can pull at most one sleigh. More precisely, \sum_{k=1}^{m} R_{i_k} reindeer are required to pull m sleighs i_1, i_2, \ldots, i_m.
Find the answer to Q queries of the following form:

- You are given an integer X. Determine the maximum number of sleighs that can be pulled when there are X reindeer.

Input

The input is given from Standard Input in the following format:
N Q
R_1 R_2 \ldots R_N
\text{query}_1
\text{query}_2
\vdots
\text{query}_Q

Each query is given in the following format:
X

Output

Print Q lines.
The i-th line should contain the answer to the i-th query.

Constraints

- 1 \leq N, Q \leq 2 \times 10^5
- 1 \leq R_i \leq 10^9
- 1 \leq X \leq 2 \times 10^{14}
- All input values are integers.

Sample Input 1

4 3
5 3 11 8
16
7
1000

Sample Output 1

3
1
4

When there are 16 reindeer, sleighs 1,2,4 can be pulled.
It is impossible to pull four sleighs with 16 reindeer, so the answer to query 1 is 3.

Sample Input 2

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

Sample Output 2

1
1
2
2
2
3

Sample Input 3

2 2
1000000000 1000000000
200000000000000
1

Sample Output 3

2
0


Tento problém má podobné zadání jako problém G. Rozdíly v zadání problému jsou označeny červeně.
Nachází se zde mřížka s H řádky a W sloupci, kde každá buňka je natřena červeně nebo zeleně.
Značka (i,j) označuje buňku v i-tém řádku shora a j-tém sloupci zleva.
Barva buňky (i,j) je reprezentována znakem S_{i,j}, kde S_{i,j} = . Takže buňka (i,j) je červená, a S_{i,j} = # znamená, že buňka (i,j) je zelená.
Počet zelených souvisejících komponent v mřížce se rovná počtu souvisejících komponent v grafu, kde množina vrcholů jsou zelené buňky a množina hran jsou hrany spojující dvě sousedící zelené buňky. Zde jsou dvě buňky (x,y) a (x',y') považovány za sousedící, když |x-x'| + |y-y'| = 1.
Zvažte možnost uniformě a náhodně zvolit jednu červenou buňku, kterou přetřete na zeleno. Vypiš očekávanou hodnotu počtu zelených souvisejících komponent v mřížce po přetření, modulo 998244353.

Co znamená "vypiš očekávanou hodnotu modulo 998244353"?
Lze dokázat, že hledaná očekávaná hodnota je vždy racionální.
Dále, omezení problému zaručují, že pokud je tato hodnota vyjádřena jako \frac{P}{Q} za použití dvou nesoudělných celých čísel P a Q, existuje přesně jedno celé číslo R, že R \times Q \equiv P \pmod{998244353} a 0 \leq R < 998244353. Vypiš toto R.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
H W
S_{1,1}S_{1,2}\ldotsS_{1,W}
S_{2,1}S_{2,2}\ldotsS_{2,W}
\vdots
S_{H,1}S_{H,2}\ldotsS_{H,W}

Výstup

Vypiš odpověď.

Omezení

- 1 \leq H,W \leq 1000
- S_{i,j} = . nebo S_{i,j} = #.
- Existuje alespoň jeden (i,j) takový, že S_{i,j} = ..

Vzorový vstup 1

3 3
##.
#.#
#..

Vzorový výstup 1

499122178

Pokud je buňka (1,3) přetřena na zeleno, počet zelených souvisejících komponent se stane 1.
Pokud je buňka (2,2) přetřena na zeleno, počet zelených souvisejících komponent se stane 1.
Pokud je buňka (3,2) přetřena na zeleno, počet zelených souvisejících komponent se stane 2.
Pokud je buňka (3,3) přetřena na zeleno, počet zelených souvisejících komponent se stane 2.
Proto očekávaná hodnota počtu zelených souvisejících komponent po rovnoměrném a náhodném výběru a přetření jedné červené buňky na zeleno je (1+1+2+2)/4 = 3/2.

Vzorový vstup 2

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

Vzorový výstup 2

598946613

Vzorový vstup 3

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

Vzorový výstup 3

285212675

Tento problém má podobné zadání jako problém G. Rozdíly v zadání problému jsou označeny červeně.
Je zde mřížka s H řádky a W sloupci, kde každá buňka je natřena červeně nebo zeleně.
Nechť (i,j) označuje buňku v i-tém řádku shora a j-tém sloupci zleva.
Barva buňky (i,j) je reprezentována znakem S_{i,j}, kde S_{i,j} = . znamená, že buňka (i,j) je červená, a S_{i,j} = # znamená, že buňka (i,j) je zelená.
Počet zelených souvisejících komponent v mřížce je počet souvisejících komponent v grafu, kde množina vrcholů jsou zelené buňky a množina hran jsou hrany spojující dva sousedící zelené buňky. Zde jsou dvě buňky (x,y) a (x',y') považovány za sousedící, když |x-x'| + |y-y'| = 1.
Zvažte volbu jedné červené buňky rovnoměrně náhodně a přetření jí na zeleno. Vytiskněte očekávanou hodnotu počtu zelených souvisejících komponent v mřížce po přetření, modulo 998244353.

Co znamená "vytisknout očekávanou hodnotu modulo 998244353"?
Lze dokázat, že hledaná očekávaná hodnota je vždy racionální.
Dále, omezení problému zaručují, že pokud je tato hodnota vyjádřena jako \frac{P}{Q} za použití dvou nesoudělných celých čísel P a Q, existuje přesně jedno celé číslo R, že R \times Q \equiv P \pmod{998244353} a 0 \leq R < 998244353. Vytiskněte toto R.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
H W
S_{1,1}S_{1,2}\ldotsS_{1,W}
S_{2,1}S_{2,2}\ldotsS_{2,W}
\vdots
S_{H,1}S_{H,2}\ldotsS_{H,W}

Výstup

Vytiskněte odpověď.

Omezení

- 1 \leq H,W \leq 1000
- S_{i,j} = . nebo S_{i,j} = #.
- Existuje alespoň jeden (i,j) takový, že S_{i,j} = ..

Ukázkový Vstup 1

3 3
##.
#.#
#..

Ukázkový Výstup 1

499122178

Pokud je buňka (1,3) přetřena na zeleno, počet zelených souvisejících komponent se stane 1.
Pokud je buňka (2,2) přetřena na zeleno, počet zelených souvisejících komponent se stane 1.
Pokud je buňka (3,2) přetřena na zeleno, počet zelených souvisejících komponent se stane 2.
Pokud je buňka (3,3) přetřena na zeleno, počet zelených souvisejících komponent se stane 2.
Proto očekávaná hodnota počtu zelených souvisejících komponent po výběru jedné červené buňky rovnoměrně náhodně a přetření jí na zeleno je (1+1+2+2)/4 = 3/2.

Ukázkový Vstup 2

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

Ukázkový Výstup 2

598946613

Ukázkový Vstup 3

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

Ukázkový Výstup 3

285212675

Tento problém má podobné nastavení jako Problém G. Rozdíly v popisu problému jsou označeny červeně.
K dispozici je mřížka s řádky H a sloupci W, kde je každá buňka namalována červeně nebo zeleně.
Nechť (i,j) označuje buňku v i-tém řádku shora a j-tý sloupec zleva.
Barva buňky (i,j) je reprezentována znakem S_{i,j}, kde S_{i,j} = . znamená, že buňka (i,j) je červená a S_{i,j} = # znamená, že buňka (i,j) je zelená.
Počet zelených spojených komponent v mřížce je počet spojených komponent v grafu, přičemž množina vrcholů jsou zelené buňky a sada hran jsou hrany spojující dvě sousední zelené buňky. Zde jsou dvě buňky (x,y) a (x',y') považovány za sousední, když |x-x'| + |y-y'| = 1.
Zvažte možnost vybrat jednu červenou buňku rovnoměrně náhodně a překreslit ji na zeleno. Vytiskněte očekávanou hodnotu počtu zelených spojených komponent v mřížce po přelakování, modulo 998244353.

Co znamená "vytisknout očekávanou hodnotu modulo 998244353"?
Lze dokázat, že hledaná očekávaná hodnota je vždy racionální.
Kromě toho omezení tohoto problému zaručují, že pokud je tato hodnota vyjádřena jako \frac{P}{Q} pomocí dvou násobných celých čísel P a Q, existuje přesně jedno celé číslo R takové, že R \times Q \equiv P \pmod{998244353} a 0 \leq R < 998244353. Vytiskněte tento R.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
H W
S_{1,1}S_{1,2}\ldotsS_{1,W}
S_{2,1}S_{2,2}\ldotsS_{2,W}
\vdots
S_{H,1}S_{H,2}\ldotsS_{H,W}

Výstup

Vytiskněte odpověď.

Omezení

- 1 \leq H,W \leq 1000
- S_{i,j} = . nebo S_{i,j} = #.
- Existuje alespoň jedno (i,j) takové, že S_{i,j} = ..

Vzorový vstup 1

3 3
##.
#.#
#..

Ukázkový výstup 1

499122178

Pokud je buňka (1,3) přebarvena na zeleno, počet zelených spojených komponent se změní na 1.
Pokud je buňka (2,2) překreslena zeleně, počet zelených spojených komponent se změní na 1.
Pokud je buňka (3,2) přemalována na zeleno, počet zelených spojených komponent bude 2.
Pokud je buňka (3,3) překreslena zeleně, počet zelených spojených komponent se změní na 2.
Proto je očekávaná hodnota počtu zelených spojených komponent po rovnoměrném náhodném výběru jedné červené buňky a jejím překreslení na zelenou (1+1+2+2)/4 = 3/2.

Vzorkovací vstup 2

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

Ukázkový výstup 2

598946613

Vzorkovací vstup 3

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

Ukázkový výstup 3

285212675


Máte daný řetězec S skládající se z malých písmen anglické abecedy a číslic. Je zaručeno, že S končí na 2023.
Změňte poslední znak S na 4 a vytiskněte upravený řetězec.

Vstup

Vstup je zadán ze standardního vstupu ve formátu:
S

Výstup

Vytiskněte odpověď.

Omezení

- S je řetězec o délce mezi 4 a 100, včetně, skládající se z malých písmen anglické abecedy a číslic.
- S končí na 2023.

Příklad vstupu 1

hello2023

Příklad výstupu 1

hello2024

Změna posledního znaku hello2023 na 4 vede k hello2024.

Příklad vstupu 2

worldtourfinals2023

Příklad výstupu 2

worldtourfinals2024

Příklad vstupu 3

2023

Příklad výstupu 3

2024

Je zaručeno, že S končí na 2023, může to být i 2023 samotné.

Příklad vstupu 4

20232023

Příklad výstupu 4

20232024

Dostanete řetězec S, který se skládá z malých anglických písmen a číslic.
Je zaručeno, že S končí řetězcem 2023.
Změňte poslední znak řetězce S na 4 a vytiskněte upravený řetězec.

Vstup

Vstup je zadán ze standardního vstupu ve formátu:
S

Výstup
Vstup je zadán ze standardního vstupu ve formátu:
S

Výstup

Vytiskněte odpověď.

Omezení

- S je řetězec o délce mezi 4 a 100, včetně, skládající se z malých písmen anglické abecedy a číslic.
- S končí na 2023.

Příklad vstupu 1

hello2023

Příklad výstupu 1

hello2024

Změna posledního znaku hello2023 na 4 vede k hello2024.

Příklad vstupu 2

worldtourfinals2023

Příklad výstupu 2

worldtourfinals2024

Příklad vstupu 3

2023

Příklad výstupu 3

2024

Je zaručeno, že S končí na 2023, může to být i 2023 samotné.

Příklad vstupu 4

20232023

Příklad výstupu 4

20232024


Je vám dáno celé číslo N.
Vytiskněte všechny trojice nezáporných celých čísel (x, y, z) tak, že x+y+z \leq N ve vzestupném lexikografickém pořadí.
Co je to lexikografické pořadí pro trojice nezáporných celých čísel?

Trojice nezáporných celých čísel (x, y, z) se považuje za lexikograficky menší než (x', y', z') právě tehdy, když platí jedna z následujících podmínek:

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

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N

Výstup

Vytiskněte všechny trojice nezáporných celých čísel (x, y, z) tak, že x+y+z \leq N ve vzestupném lexikografickém pořadí, s x, y, z oddělenými mezerami, jednu trojici na řádek.

Omezení

- 0 \leq N \leq 21
- N je celé číslo.

Ukázkový vstup 1

3

Ukázkový výstup 1

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

Ukázkový vstup 2

4

Ukázkový výstup 2

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

Je zadáno celé číslo N.
Vypište všechny trojice nezáporných celých čísel (x,y,z) takové, že x+y+z\leq N ve vzestupném lexikografickém pořadí.
Jaké je lexikografické pořadí pro nezáporné trojice celých čísel?

O trojici nezáporných celých čísel (x,y,z) se říká, že je lexikograficky menší než (x',y',z') tehdy a jen tehdy, když platí jedna z následujících možností:

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

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N

Výstup

Vypíše všechny trojice nezáporných celých čísel (x,y,z) takových, že x+y+z\leq N, ve vzestupném lexikografickém pořadí, přičemž x,y,z jsou odděleny mezerami, jedna trojice na řádek.

Omezení

- 0 \leq N \leq 21
- N je celé číslo.

Vzorový vstup 1

3

Vzorový výstup 1

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

Vzorový vstup 2

4

Vzorový výstup 2

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

Je vám přiděleno celé číslo N.
Vytiskněte všechny trojice nezáporných celých čísel (x,y,z) tak, že x+y+z\leq N ve vzestupném lexikografickém pořadí.
 Jaké je lexikografické pořadí nezáporných celých trojic?

Říká se, že trojice nezáporných celých čísel (x,y,z) je lexikograficky menší než (x',y',z') právě tehdy, když platí jedno z následujících:

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

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N

Výstup

Vytiskněte všechny trojice nezáporných celých čísel (x,y,z) tak, že x+y+z\leq N ve vzestupném lexikografickém pořadí, s x,y,z oddělenými mezerami, jednu trojici na řádek.

Omezení

- 0 \leq N \leq 21
- N je celé číslo.

Ukázkový vstup 1

3

Ukázkový výstup 1

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

Ukázkový vstup 2

4

Ukázkový výstup 2

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


Takahashi vytvořil hru, ve které hráč ovládá draka na souřadnicové rovině.
Drak se skládá z N částí očíslovaných od 1 do N, kde část 1 se nazývá hlavou.
Zpočátku je část i umístěna na souřadnicích (i,0). Zpracuj Q dotazů následujícím způsobem.

- 1 C: Posuň hlavu o 1 ve směru C. Zde, C je jedno z R, L, U a D, což představuje kladný směr osy x, záporný směr osy x, kladný směr osy y a záporný směr osy y. Každá část kromě hlavy se posune, aby následovala část před ní. To znamená, že část i (2\leq i \leq N) se přesune na souřadnice, kde byla část i-1 před posunem.
- 2 p: Najdi souřadnice části p.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N Q
\mathrm{query}_1
\vdots
\mathrm{query}_Q

Každý dotaz je v jednom z následujících dvou formátů:
1 C

2 p

Výstup

Vytiskni q řádků, kde q je počet dotazů druhého typu.
i-tý řádek by měl obsahovat x a y oddělené mezerou, kde (x,y) jsou odpověď na i-tý takový dotaz.

Omezení

- 2 \leq N \leq 10^6
- 1 \leq Q \leq 2\times 10^5
- U prvního typu dotazu je C jedno z R, L, U a D.
- U druhého typu dotazu, 1\leq p \leq N.
- Všechny číselné hodnoty vstupu jsou celá čísla.

Ukázkový Vstup 1

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

Ukázkový Výstup 1

3 0
2 0
1 1
1 0
1 0

Při každém zpracování dotazu druhého typu jsou části na následujících pozicích:

Všimněte si, že více částí může být na stejných souřadnicích.

Takahashi vytvořil hru, ve které hráč ovládá draka na souřadnicové rovině.
Drak se skládá z N částí očíslovaných od 1 do N, přičemž část 1 se nazývá hlava.
Na počátku se část i nachází na souřadnicích (i,0). Dotazy Q zpracujte následujícím způsobem.

- 1 C: Posuňte hlavu o 1 ve směru C. Zde je C jedním z R, L, U a D, které představují kladný směr x, záporný směr x, kladný směr y a záporný směr y, v tomto pořadí. Každá část kromě hlavy se pohybuje tak, aby následovala část před ní. To znamená, že část i (2\leq i \leq N) se přesune na souřadnice, kde byla část i-1 před přesunem.
- 2 p: Najděte souřadnice části p.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N Q
\mathrm{dotaz}_1
\vdots
\mathrm{query}_Q

Každý dotaz je v jednom z následujících dvou formátů:
1 C

2 p

Výstup

Vypíše q řádků, kde q je počet dotazů druhého typu.
I-tý řádek by měl obsahovat x a y oddělené mezerou, kde (x,y) jsou odpovědi na i-tý takový dotaz.

Omezení

- 2 \leq N \leq 10^6
- 1 \leq Q \leq 2\krát 10^5
- Pro první typ dotazu je C jedním z R, L, U a D.
- Pro druhý typ dotazu je 1\leq p \leq N.
- Všechny číselné vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

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

Vzorový výstup 1

3 0
2 0
1 1
1 0
1 0

Při každém zpracování druhého typu dotazu se části nacházejí na následujících pozicích:

Pamatujte, že na stejných souřadnicích se může nacházet více částí.

Takahashi vytvořil hru, kde hráč ovládá draka na souřadnicové rovině.
Drak se skládá z N částí očíslovaných 1 až N, přičemž část 1 se nazývá hlava.
Zpočátku se část i nachází na souřadnicích (i,0). Q dotazy zpracujte následovně.

- 1 C: Posuňte hlavu o 1 ve směru C. Zde je C jedním z R, L, U a D, které představují kladný směr x, záporný směr x, kladný směr y a záporný směr y- směru, resp. Každá část kromě hlavy se pohybuje, aby následovala část před ní. To znamená, že část i (2\leq i \leq N) se přesune na souřadnice, kde byla část i-1 před pohybem.
- 2 p: Najděte souřadnice části p.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N Q
\mathrm{query}_1
\vdots
\mathrm{query}_Q

Každý dotaz je v jednom z následujících dvou formátů:
1 C

2 p

Výstup

Tisk q řádků, kde q je počet dotazů druhého typu.
I-tý řádek by měl obsahovat x a y oddělené mezerou, kde (x,y) jsou odpovědí na i-tý takový dotaz.

Omezení

- 2 \leq N \leq 10^6
- 1 \leq Q \leq 2\times  10^5
- Pro první typ dotazu je C jedním z R, L, U a D.
- Pro druhý typ dotazu 1\leq p \leq N.
- Všechny číselné vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

3 0
20
1 1
1 0
1 0

Při každém zpracování druhého typu dotazu jsou díly na následujících pozicích:

Všimněte si, že na stejných souřadnicích může existovat více částí.


Existuje mřížka s N řádky a N sloupci, kde N je liché číslo nejvýše 45. Nechť (i,j) označuje buňku na i-tém řádku shora a j-tém sloupci zleva. V této mřížce umístíte Takahashiho a draka sestávajícího z N^2-1 částí očíslovaných od 1 do N^2-1 tak, aby bylo splněno následující:

- Takahashi musí být umístěn ve středu mřížky, tj. v buňce (\frac{N+1}{2},\frac{N+1}{2}).
- Kromě buňky, kde je Takahashi, musí být v každé buňce umístěna přesně jedna část draka.
- Pro každé celé číslo x splňující 2 \leq x \leq N^2-1 musí být část draka x umístěna v buňce sousedící přes hranu s buňkou obsahující část x-1.
- Buňky (i,j) a (k,l) se považují za sousedící přes hranu, pokud a pouze pokud |i-k|+|j-l|=1.

Vytiskněte jeden způsob uspořádání částí, který splňuje podmínky. Je zaručeno, že existuje alespoň jedno uspořádání, které podmínky splňuje.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N

Výstup

Vytiskněte N řádků.
i-tý řádek by měl obsahovat X_{i,1},\ldots,X_{i,N} oddělené mezerami, kde X_{i,j} je T, pokud je Takahashi umístěn v buňce (i,j), a x, pokud je tam umístěna část x.

Omezení

- 3 \leq N \leq 45
- N je liché.

Ukázkový vstup 1

5

Ukázkový výstup 1

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

Následující výstup také splňuje všechny podmínky a je správný.
9 10 11 14 15
8 7 12 13 16
5 6 T 18 17
4 3 24 19 20
1 2 23 22 21

Na druhé straně, následující výstupy jsou nesprávné z uvedených důvodů.
Takahashi není uprostřed.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 T

Buňky obsahující části 23 a 24 nejsou sousedící přes hranu.
1 2 3 4 5
10 9 8 7 6
11 12 24 22 23
14 13 T 21 20
15 16 17 18 19

Existuje mřížka o N řádcích a N sloupcích, kde N je liché číslo, nejvýše 45.
Nechť (i,j) označuje buňku v i-tém řádku shora a j-tém sloupci zleva.
Do této mřížky umístíte Takahašiho a draka složeného z N^2-1 dílků očíslovaných 1 až N^2-1 tak, aby splňoval následující podmínky:

- Takahashi musí být umístěn do středu mřížky, tj. do políčka (\frac{N+1}{2},\frac{N+1}{2}).
- S výjimkou buňky, v níž je Takahashi, musí být v každé buňce umístěna přesně jedna část draka.
- Pro každé celé číslo x splňující podmínku 2 \leq x \leq N^2-1 musí být dračí díl x umístěn v buňce sousedící hranou s buňkou obsahující díl x-1.
- Říká se, že buňky (i,j) a (k,l) sousedí hranou tehdy a jen tehdy, když |i-k|+|j-l|=1.

Vytiskněte jeden způsob uspořádání částí tak, aby byly splněny podmínky. Je zaručeno, že existuje alespoň jedno uspořádání, které splňuje podmínky.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N

Výstup:

Vypíše N řádků.
I-tý řádek by měl obsahovat X_{i,1},\ldots,X_{i,N} oddělené mezerami, kde X_{i,j} je T při umístění Takahashiho do buňky (i,j) a x při umístění části x do ní.

Omezení

- 3 \leq N \leq 45
- N je liché.

Vzorový vstup 1

5

Vzorový výstup 1

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

Následující výstup rovněž splňuje všechny podmínky a je správný.
9 10 11 14 15
8 7 12 13 16
5 6 T 18 17
4 3 24 19 20
1 2 23 22 21

Na druhou stranu následující výstupy jsou z uvedených důvodů nesprávné.
Takahashi není v centru.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 T

Buňky obsahující části 23 a 24 spolu nesousedí žádnou hranou.
1 2 3 4 5
10 9 8 7 6
11 12 24 22 23
14 13 T 21 20
15 16 17 18 19

Existuje mřížka s N řádky a N sloupci, kde N je liché číslo, maximálně však 45. (i,j) označuje buňku na i-tém řádku shora a j-tém sloupci zleva. V této mřížce umístíte Takahashiho a draka sestávajícího z N^2-1 částí očíslovaných od 1 do N^2-1 tak, aby bylo splněno následující:

- Takahashi musí být umístěn ve středu mřížky, tj. v buňce (\frac{N+1}{2},\frac{N+1}{2}).
- Kromě buňky, kde je Takahashi, musí být v každé buňce umístěna přesně jedna část draka.
- Pro každé celé číslo x splňující 2 \leq x \leq N^2-1 musí být část draka x umístěna v buňce sousedící přes hranu s buňkou obsahující část x-1.
- Buňky (i,j) a (k,l) spolu sousedí přes hranu, pouze pokud |i-k|+|j-l|=1.

Vytiskni jeden způsob uspořádání částí, který splňuje podmínky. Existuje alespoň jedno uspořádání, které podmínky splňuje.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N

Výstup

Vytiskni N řádků.
i-tý řádek by měl obsahovat X_{i,1},\ldots,X_{i,N} oddělené mezerami, kde X_{i,j} je T, pokud je Takahashi umístěn v buňce (i,j), a x, pokud je tam umístěna část x.

Omezení

- 3 \leq N \leq 45
- N je liché.

Vzorový vstup 1

5

Vzorový výstup 1

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

Následující výstup také splňuje všechny podmínky, a je správný.
9 10 11 14 15
8 7 12 13 16
5 6 T 18 17
4 3 24 19 20
1 2 23 22 21

Naopak následující výstupy jsou nesprávné z uvedených důvodů.
Takahashi není uprostřed.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 T

Buňky obsahující části 23 a 24 nesousedí přes hranu.
1 2 3 4 5
10 9 8 7 6
11 12 24 22 23
14 13 T 21 20
15 16 17 18 19


Pro kladné celé číslo X je Dračí řetězec úrovně X řetězec délky (X+3) tvořený jedním L, X výskyty o, jedním n a jedním g v tomto pořadí.
Je dáno kladné celé číslo N. Vytiskněte Dračí řetězec úrovně N.
Všimněte si, že se rozlišují velká a malá písmena.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N

Výstup

Vytiskněte Dračí řetězec úrovně N.

Omezení

- 1 \leq N \leq 2024
- N je celé číslo.

Příklad vstupu 1

3

Příklad výstupu 1

Looong

Řazení jednoho L, tří o, jednoho n a jednoho g v tomto pořadí dává Looong.

Příklad vstupu 2

1

Příklad výstupu 2

Long

Pro kladné celé číslo X je Dračí řetězec úrovně X řetězec délky (X+3) tvořený jedním L, X výskytem o, jedním n a jedním g uspořádanými v tomto pořadí.
Je vám přiděleno kladné celé číslo N. Vytiskněte Dračí řetězec úrovně N.
Všimněte si, že se rozlišují velká a malá písmena.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N

Výstup

Vytiskněte si Dračí řetězec úrovně N.

Omezení

- 1 \leq N \leq 2024
- N je celé číslo.

Ukázkový vstup 1

3

Ukázkový výstup 1

Looong

Uspořádání jednoho L, tří os, jednoho n a jednoho g v tomto pořadí dává Looong.

Ukázkový vstup 2

1

Ukázkový výstup 2

Long

Pro kladné celé číslo X je dračí řetězec úrovně X řetězec délky (X+3) tvořený jedním L, X výskyty o, jedním n a jedním g uspořádanými v tomto pořadí.
Je dáno celé kladné číslo N. Vypište dračí řetězec úrovně N.
Pamatujte, že se rozlišují velká a malá písmena.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N

Výstup

Vypíše dračí řetězec úrovně N.

Omezení

- 1 \leq N \leq 2024
- N je celé číslo.

Vzorový vstup 1

3

Vzorový výstup 1

Looong

Uspořádáním jednoho L, tří o, jednoho n a jednoho g v tomto pořadí získáme Looong.

Vzorový vstup 2

1

Vzorový výstup 2

Long


Pro kladné celé číslo \(X\) nechť \(\text{ctz}(X)\) označuje (maximální) počet po sobě jdoucích nul na konci binární reprezentace \(X\).
Pokud binární reprezentace \(X\) končí jedničkou, pak \(\text{ctz}(X)=0\).
Je dáno kladné celé číslo \(N\). Vytiskněte \(\text{ctz}(N)\).

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N

Výstup

Vytiskněte \text{ctz}(N).

Omezení

- 1\leq N\leq 10^9
- N je celé číslo.

Ukázkový vstup 1

2024

Ukázkový výstup 1

3

2024 je v binární podobě 11111101000, se třemi nulami na konci, takže \(\text{ctz}(2024) = 3\).
Proto vytiskněte \(3\).

Ukázkový vstup 2

18

Ukázkový výstup 2

1

18 je 10010 v binární reprezentaci, takže \text{ctz}(18)=1.
Upozorňujeme, že počítáme koncové nuly.

Ukázkový vstup 3

5

Ukázkový výstup 3

0

Pro kladné celé číslo X nechť \text{ctz}(X) je (maximální) počet po sobě jdoucích nul na konci binárního zápisu X.
Pokud binární zápis X končí 1, pak \text{ctz}(X)=0.
Dostanete kladné celé číslo N. Tisk \text{ctz}(N).

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N

Výstup

Tisk \text{ctz}(N).

Omezení

- 1\leq N\leq 10^9
- N je celé číslo.

Ukázkový vstup 1

2024

Ukázkový výstup 1

3

2024 je 11111101000 v binární podobě, se třemi po sobě jdoucími nulami od konce, takže \text{ctz}(2024)=3.
Vytiskněte tedy 3.

Ukázkový vstup 2

18

Ukázkový výstup 2

1

18 je 10010 v binární podobě, takže \text{ctz}(18)=1.
Všimněte si, že počítáme koncové nuly.

Ukázkový vstup 3

5

Ukázkový výstup 3

0

Pro kladné celé číslo X nechť \text{ctz}(X) je (maximální) počet po sobě jdoucích nul na konci binárního zápisu X.
Pokud binární zápis X končí jedničkou, pak \text{ctz}(X)=0.
Je dáno celé kladné číslo N. Vypište \text{ctz}(N).

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N

Výstup

Vypište \text{ctz}(N).

Omezení

- 1\leq N\leq 10^9
- N je celé číslo.

Ukázka Vstup 1

2024

Vzorový výstup 1

3

2024 je 11111101000 ve dvojkové soustavě se třemi po sobě jdoucími 0 od konce, takže \text{ctz}(2024)=3.
Vypište tedy 3.

Ukázkový vstup 2

18

Ukázka výstupu 2

1

18 je binárně 10010, takže \text{ctz}(18)=1.
Všimněte si, že počítáme koncové nuly.

Ukázkový vstup 3

5

Ukázka výstupu 3

0


Nezáporné celé číslo \( n \) se nazývá **dobré číslo**, pokud splňuje následující podmínku:

- Všechny číslice v desítkovém zápisu čísla \( n \) jsou sudé číslice (0, 2, 4, 6 a 8).

Například čísla 0, 68 a 2024 jsou dobrá čísla.
Je dáno celé číslo \( N \). Najděte \( N \)-té nejmenší dobré číslo.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N

Výstup

Vytiskněte N-té nejmenší dobré číslo.

Omezení

- 1 \leq N \leq 10^{12}
- N je celé číslo.

Ukázkový vstup 1

8

Ukázkový výstup 1

24

Dobrými čísly v rostoucím pořadí jsou 0, 2, 4, 6, 8, 20, 22, 24, 26, 28, \dots.
Osmé nejmenší je 24, které by mělo být vytištěno.

Ukázkový vstup 2

133

Ukázkový výstup 2

2024

Ukázkový vstup 3

31415926535

Ukázkový výstup 3

2006628868244228

Nezáporné celé číslo n se nazývá dobré celé číslo, pokud splňuje následující podmínku:

- Všechny číslice v desítkovém zápisu n jsou sudá čísla (0, 2, 4, 6 a 8).

Například 0, 68 a 2024 jsou dobrá celá čísla.
Dostanete celé číslo N. Najděte N-té nejmenší dobré celé číslo.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N

Výstup

Vytiskněte N-té nejmenší dobré celé číslo.

Omezení

- 1 \leq N \leq 10^{12}
- N je celé číslo.

Ukázkový vstup 1

8

Ukázkový výstup 1

24

Dobrá celá čísla ve vzestupném pořadí jsou 0, 2, 4, 6, 8, 20, 22, 24, 26, 28, \tečky.
Osmý nejmenší je 24, který by měl být vytištěn.

Ukázkový vstup 2

133

Ukázkový výstup 2

2024

Ukázkový vstup 3

31415926535

Ukázkový výstup 3

2006628868244228


Pro kladné celé číslo k je Pyramidová posloupnost velikosti k posloupnost délky (2k-1), kde členy posloupnosti mají hodnoty 1,2,\ldots,k-1,k,k-1,\ldots,2,1 v tomto pořadí.
Je vám dána posloupnost A=(A_1,A_2,\ldots,A_N) délky N.
Najděte maximální velikost Pyramidové posloupnosti, kterou lze získat opakovaným zvolením a provedením jedné z následujících operací na A (možná nula krát).

- Vyberte jeden člen sekvence a snižte jeho hodnotu o 1.
- Odeberte první nebo poslední člen.

Může být prokázáno, že omezení problému zaručují, že alespoň jedna Pyramidová posloupnost může být získána opakováním operací.

Vstup

Vstup je zadán z Standardního Vstupu v následujícím formátu:
N
A_1 A_2 \ldots A_N

Výstup

Vytiskněte maximální velikost Pyramidové posloupnosti, kterou lze získat opakovaným prováděním operací popsaných v zadání na posloupnosti A.

omezení

- 1\leq N\leq 2\times 10^5
- 1\leq A_i\leq 10^9
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

5
2 2 3 1 1

Ukázkový výstup 1

2

Začínáme s A=(2,2,3,1,1), můžete vytvořit Pyramidovou posloupnost velikosti 2 následujícím způsobem:

- Vyberte třetí člen a snižte ho o 1. Posloupnost se stane A=(2,2,2,1,1).
- Odeberte první člen. Posloupnost se stane A=(2,2,1,1).
- Odeberte poslední člen. Posloupnost se stane A=(2,2,1).
- Vyberte první člen a snižte ho o 1. Posloupnost se stane A=(1,2,1).

(1,2,1) je Pyramidová posloupnost velikosti 2.
Na druhou stranu, neexistuje způsob, jak provést operace k vytvoření Pyramidové posloupnosti velikosti 3 nebo větší, takže byste měli vytisknout 2.

Ukázkový vstup 2

5
1 2 3 4 5

Ukázkový výstup 2

3

Ukázkový vstup 3

1
1000000000

Ukázkový výstup 3

1

Pro kladné celé číslo k je pyramidová posloupnost velikosti k posloupnost délky (2k-1), jejíž členy mají hodnoty 1,2,\ldots,k-1,k,k-1,\ldots,2,1 v tomto pořadí.
Je dána posloupnost A=(A_1,A_2,\ldots,A_N) délky N.
Najděte maximální velikost pyramidové posloupnosti, kterou lze získat opakovaným výběrem a provedením jedné z následujících operací nad A (případně nultýkrát).

- Vyberte jeden člen posloupnosti a snižte jeho hodnotu o 1.
- Odstraňte první nebo poslední člen.

Lze dokázat, že omezení úlohy zaručují, že opakováním operací lze získat alespoň jednu pyramidovou posloupnost.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N
A_1 A_2 \ldots A_N

Výstup

Vypište maximální velikost pyramidové posloupnosti, kterou lze získat opakovaným prováděním operací popsaných v zadání úlohy na posloupnosti A.

Omezení

- 1\leq N\leq 2\krát 10^5
- 1\leq A_i\leq 10^9
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

5
2 2 3 1 1

Ukázkový výstup 1

2

Počínaje A=(2,2,3,1,1) můžete vytvořit pyramidovou posloupnost o velikosti 2 následujícím způsobem:

- Zvolte třetí člen a zmenšete jej o 1. Posloupnost se stane A=(2,2,2,1,1).
- Odstraňte první člen. Z posloupnosti se stane A=(2,2,1,1).
- Odstraňte poslední člen. Z posloupnosti se stane A=(2,2,1).
- Vyberte první člen a zmenšete jej o 1. Posloupnost se změní na A=(1,2,1).

(1,2,1) je pyramidová posloupnost velikosti 2.
Na druhou stranu neexistuje způsob, jak provést operace pro vytvoření pyramidové posloupnosti velikosti 3 nebo větší, takže byste měli vypsat 2.

Ukázkový vstup 2

5
1 2 3 4 5

Ukázkový výstup 2

3

Ukázkový vstup 3

1
1000000000

Ukázkový výstup 3

1

Pro kladné celé číslo k je Pyramida sekvence velikosti k sekvencí délky (2k-1), kde mají členy sekvence hodnoty 1,2,\ldots,k-1,k,k-1,\ldots,2,1 v tomto pořadí.
Je vám dána sekvence A=(A_1,A_2,\ldots,A_N) délky N.
Najděte maximální velikost Pyramida sekvence, kterou lze získat opakovaným výběrem a prováděním jedné z následujících operací na A (možná i nulakrát).

- Vyberte jeden člen sekvence a snižte jeho hodnotu o 1.
- Odstraňte první nebo poslední člen.

Lze dokázat, že omezení problému zaručují, že alespoň jedna Pyramida sekvence může být získána opakováním operací.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
A_1 A_2 \ldots A_N

Výstup

Vytiskněte maximální velikost Pyramida sekvence, kterou lze získat opakovaným prováděním operací popsaných v zadání problému na sekvenci A.

Omezení

1\leq N\leq 2\times 10^5
1\leq A_i\leq 10^9
Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

5
2 2 3 1 1

Ukázkový výstup 1

2

Začínaje s A=(2,2,3,1,1), můžete vytvořit Pyramida sekvenci velikosti 2 následujícím způsobem:

- Vyberte třetí člen a snižte jeho hodnotu o 1. Sekvence se stane A=(2,2,2,1,1).
- Odstraňte první člen. Sekvence se stane A=(2,2,1,1).
- Odstraňte poslední člen. Sekvence se stane A=(2,2,1).
- Vyberte první člen a snižte jeho hodnotu o 1. Sekvence se stane A=(1,2,1).

(1,2,1) je Pyramida sekvence velikosti 2.
Na druhou stranu, není možné provést operace tak, aby vznikla Pyramida sekvence velikosti 3 nebo větší, takže byste měli vytisknout 2.

Ukázkový vstup 2

5
1 2 3 4 5

Ukázkový výstup 2

3

Ukázkový vstup 3
1
1000000000

Ukázkový výstup 3
1


Družstva Takahaši a Aoki odehrála N zápasů.
V i-tém zápase (1\leq i\leq N) získal tým Takahaši X _ i bodů a tým Aoki Y _ i bodů.
Vyhrává tým s vyšším celkovým počtem bodů z N zápasů.
Vypište vítěze.
Pokud mají oba týmy stejný celkový počet bodů, jedná se o remízu.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N
X _ 1 Y _ 1
X _ 2 Y _ 2
\vdots
X _ N Y _ N

Výstup

Pokud vyhraje tým Takahashi, vypište Takahashi; pokud vyhraje tým Aoki, vypište Aoki; pokud je výsledek nerozhodný, vypište Draw.

Omezení

- 1\leq N\leq 100
- 0\leq X _ i\leq 100\ (1\leq i\leq N)
- 0\leq Y _ i\leq 100\ (1\leq i\leq N)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

4
10 2
10 1
10 2
3 2

Ukázka výstupu 1

Takahashi

Ve čtyřech zápasech získal tým Takahashi 33 bodů a tým Aoki 7 bodů.
Tým Takahashi vyhrál, takže vytiskněte Takahashi.

Vzorový vstup 2

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

Ukázka výstupu 2

Remíza

Oba týmy získaly 22 bodů.
Je to remíza, takže vypište Draw.

Ukázkový vstup 3

4
0 0
10 10
50 50
0 100

Ukázka výstupu 3

Aoki

Jeden nebo oba týmy nemusí v zápase získat žádný bod.

Tým Takahashi a Team Aoki odehráli N zápasů.
V i-tém zápase (1\leq i\leq N) tým Takahashi získal X _ i bodů a Team Aoki získal Y _ i bodů.
Vítězí tým s vyšším celkovým skóre z N zápasů.
Vytiskněte vítěze.
Pokud mají oba týmy stejné celkové skóre, je to Draw.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
X_1 Y_1
X_2 Y_2
...
X _ N Y _ N

Výstup

Pokud tým Takahashi vyhraje, vytiskněte Takahashi; pokud Team Aoki vyhraje, vytiskněte Aoki; pokud se jedná o remízu, vytiskněte Draw.

Omezení

- 1\leq N\leq 100
- 0\leq X _ i\leq 100\ (1\leq i\leq N)
- 0\leq Y _ i\leq 100\ (1\leq i\leq N)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

4
10 2
10 1
10 2
3 2

Ukázkový výstup 1

Takahashi

Ve čtyřech zápasech získal tým Takahashi 33 bodů a Team Aoki 7 bodů.
Tým Takahashi vyhrává, tak tiskněte Takahashi.

Ukázkový vstup 2

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

Ukázkový výstup 2

Draw

Oba týmy získaly 22 bodů.
Je to Draw, tak vytiskněte Draw.

Ukázkový vstup 3

4
0 0
10 10
50 50
0 100

Ukázkový výstup 3

Aoki

Jeden nebo oba týmy mohou v zápase získat nulový počet bodů.

Družstva Takahaši a Aoki odehrála N zápasů.
V i-tém zápase (1\leq i\leq N) získal tým Takahaši X _ i bodů a tým Aoki Y _ i bodů.
Vyhrává tým s vyšším celkovým počtem bodů z N zápasů.
Vypište vítěze.
Pokud mají oba týmy stejný celkový počet bodů, jedná se o remízu.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N
X _ 1 Y _ 1
X _ 2 Y _ 2
\vdots
X _ N Y _ N

Výstup

Pokud vyhraje tým Takahashi, vypište Takahashi; pokud vyhraje tým Aoki, vypište Aoki; pokud je výsledek nerozhodný, vypište Draw.

Omezení

- 1\leq N\leq 100
- 0\leq X _ i\leq 100\ (1\leq i\leq N)
- 0\leq Y _ i\leq 100\ (1\leq i\leq N)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

4
10 2
10 1
10 2
3 2

Ukázka výstupu 1

Takahashi

Ve čtyřech zápasech získal tým Takahashi 33 bodů a tým Aoki 7 bodů.
Tým Takahashi vyhrál, takže vytiskněte Takahashi.

Vzorový vstup 2

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

Ukázka výstupu 2

Draw

Oba týmy získaly 22 bodů.
Je to remíza, takže vypište Draw.

Ukázkový vstup 3

4
0 0
10 10
50 50
0 100

Ukázka výstupu 3

Aoki

Jeden nebo oba týmy mohou v zápase získat nulový počet bodů.


Definujeme rozšířené A řetězce, rozšířené B řetězce, rozšířené C řetězce a rozšířené ABC řetězce následovně:

- Řetězec S je rozšířený A řetězec, pokud všechny znaky v S jsou A.
- Řetězec S je rozšířený B řetězec, pokud všechny znaky v S jsou B.
- Řetězec S je rozšířený C řetězec, pokud všechny znaky v S jsou C.
- Řetězec S je rozšířený ABC řetězec, pokud existuje rozšířený A řetězec S_A, rozšířený B řetězec S_B a rozšířený C řetězec S_C tak, že řetězec získaný zřetězením S_A, S_B, S_C v tomto pořadí se rovná S.

Například, ABC, A a AAABBBCCCCCCC jsou rozšířené ABC řetězce, ale ABBAAAC a BBBCCCCCCCAAA nejsou.
Všimněte si, že prázdný řetězec je rozšířený A řetězec, rozšířený B řetězec a rozšířený C řetězec.
Je vám dán řetězec S skládající se z A, B a C.
Pokud je S rozšířený ABC řetězec, vytiskněte Yes; jinak vytiskněte No.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
S

Výstup

Pokud je S rozšířený ABC řetězec, vytiskněte Yes; jinak vytiskněte No.

Omezení

- S je řetězec skládající se z A, B a C.
- 1\leq|S|\leq 100 (|S| je délka řetězce S.)

Ukázkový vstup 1

AAABBBCCCCCCC

Ukázkový výstup 1

Yes

AAABBBCCCCCCC je rozšířený ABC řetězec, protože je zřetězením rozšířeného A řetězce délky 3, AAA, rozšířeného B řetězce délky 3, BBB, a rozšířeného C řetězce délky 7, CCCCCCC, v tomto pořadí.
Tedy, vytiskněte Yes.

Ukázkový vstup 2

ACABABCBC

Ukázkový výstup 2

No

Neexistuje trojice rozšířeného A řetězce S_A, rozšířeného B řetězce S_B a rozšířeného C řetězce S_C tak, že řetězec získaný zřetězením S_A, S_B a S_C v tomto pořadí se rovná ACABABCBC.
Proto, vytiskněte No.

Ukázkový vstup 3

A

Ukázkový výstup 3

Yes

Ukázkový vstup 4

ABBBBBBBBBBBBBCCCCCC

Ukázkový výstup 4

Yes

Rozšířené řetězce A, rozšířené řetězce B, rozšířené řetězce C a rozšířené řetězce ABC definujeme takto:

- Řetězec S je rozšířený řetězec A, jestliže všechny znaky v řetězci S jsou A.
- Řetězec S je rozšířený řetězec B, jestliže všechny znaky v řetězci S jsou B.
- Řetězec S je rozšířený řetězec C, jestliže všechny znaky v řetězci S jsou C.
- Řetězec S je rozšířený řetězec ABC, jestliže existuje rozšířený řetězec A S_A, rozšířený řetězec B S_B a rozšířený řetězec C S_C tak, že řetězec získaný spojením S_A, S_B, S_C v tomto pořadí se rovná S.

Například ABC, A a AAABBBCCCCCCC jsou rozšířené řetězce ABC, ale ABBAAAC a BBBCCCCCCCAAA nejsou.
Všimněte si, že prázdný řetězec je rozšířený řetězec A, rozšířený řetězec B a rozšířený řetězec C.
Je dán řetězec S, který se skládá z písmen A, B a C.
Pokud je S rozšířený řetězec ABC, vypište Ano; v opačném případě vypište Ne.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
S

Výstup

Pokud je S rozšířený řetězec ABC, vypište Ano; jinak vypište Ne.

Omezení

- S je řetězec složený z písmen A, B a C.
- 1\leq|S|\leq 100 (|S| je délka řetězce S.)

Vzorový vstup 1

AAABBBCCCCCCC

Vzorový výstup 1

Yes

AAABBBCCCCCCC je rozšířený řetězec ABC, protože se jedná o spojení rozšířeného řetězce A délky 3, AAA, rozšířeného řetězce B délky 3, BBB, a rozšířeného řetězce C délky 7, CCCCCCC, v tomto pořadí.
Proto vypište Ano.

Vzorový vstup 2

ACABABCBC

Vzorový výstup 2

No

Neexistuje žádná trojice rozšířeného řetězce A S_A, rozšířeného řetězce B S_B a rozšířeného řetězce C S_C taková, aby řetězec získaný spojením S_A, S_B a S_C v tomto pořadí byl roven ACABABCBC.
Proto vypište Ne.

Vzorový vstup 3

A

Vzorový výstup 3

Yes

Vzorový vstup 4

ABBBBBBBBBBBBBBBCCCCCC

Vzorový výstup 4

Yes

Řetězce Extended A, Extended B, Extended C a Extended ABC definujeme následovně:

- Řetězec S je rozšířený řetězec A, pokud všechny znaky v S jsou A.
- Řetězec S je rozšířený řetězec B, pokud všechny znaky v S jsou B.
- Řetězec S je rozšířený řetězec C, pokud všechny znaky v S jsou C.
- Řetězec S je rozšířený řetězec ABC, pokud existuje rozšířený řetězec A S_A, rozšířený řetězec B S_B a rozšířený řetězec C S_C tak, že řetězec získaný zřetězením S_A, S_B, S_C v tomto pořadí se rovná S.

Například ABC, A a AAABBBCCCCCCC jsou rozšířené řetězce ABC, ale ABBAAAC a BBBCCCCCCCAAA nikoli.
Všimněte si, že prázdný řetězec je řetězec Extended A, řetězec Extended B a řetězec Extended C.
Je vám dán řetězec S skládající se z A, B a C.
Pokud je S rozšířený řetězec ABC, vytiskněte Ano; jinak tisk č.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
S

Výstup

Pokud je S rozšířený řetězec ABC, vytiskněte Ano; jinak tisk č.

Omezení

- S je řetězec skládající se z A, B a C.
- 1\leq|S|\leq 100 (|S| je délka řetězce S.)

Ukázkový vstup 1

AAABBBCCCCCCC

Ukázkový výstup 1

Yes

AAABBBCCCCCCC je řetězec Extended ABC, protože je zřetězením řetězce Extended A o délce 3, AAA, řetězce Extended B o délce 3, BBB, a řetězce Extended C o délce 7, CCCCCCC, v tomto pořadí.
Vytiskněte tedy Yes.

Ukázkový vstup 2

ACABABCBC

Ukázkový výstup 2

No

Neexistuje žádný trojitý řetězec Extended A S_A, Extended B řetězec S_B a Extended C řetězec S_C, takže řetězec získaný zřetězením S_A, S_B a S_C v tomto pořadí se rovná ACABABCBC.
Proto tisk č.

Ukázkový vstup 3

A

Ukázkový výstup 3

Yes

Ukázkový vstup 4

ABBBBBBBBBBBBBCCCCCC

Ukázkový výstup 4

Yes


V řadě stojí N lidí: osoba 1, osoba 2, \ldots, osoba N.
Je dáno uspořádání lidí jako posloupnost A=(A _ 1,A _ 2,\ldots,A _ N) délky N.
A _ i\ (1\leq i\leq N) představuje následující informace:

- Pokud A _ i=-1, osoba i je na začátku řady;
- jestliže A _ i\neq -1, osoba i je hned za osobou A _ i.

Vypište čísla osob v řadě zepředu dozadu.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N
A _ 1 A _ 2 \ldots A _ N

Výstup

Pokud osoba s _ 1, osoba s _ 2, \ldots, osoba s _ N stojí v řádku v tomto pořadí, vypište s _ 1, s _ 2, \ldots a s _ N v tomto pořadí, oddělené mezerami.

Omezení

- 1\leq N\leq3\times10 ^ 5
- A _ i=-1 nebo 1\leq A _ i\leq N\ (1\leq i\leq N)
- Existuje přesně jeden způsob, jak uspořádat N osob v souladu s danými informacemi.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

6
4 1 -1 5 3 2

Ukázkový výstup 1

3 5 4 1 2 6

Pokud osoba 3, osoba 5, osoba 4, osoba 1, osoba 2 a osoba 6 stojí v řadě v tomto pořadí zepředu dozadu, odpovídá toto uspořádání zadaným informacím.
Skutečně lze vidět, že:

- osoba 1 stojí hned za osobou 4,
- osoba 2 stojí hned za osobou 1,
- osoba 3 stojí v přední části řady,
- osoba 4 stojí hned za osobou 5,
- osoba 5 stojí hned za osobou 3 a
- osoba 6 stojí přímo za osobou 2.

V tomto pořadí tedy napište 3, 5, 4, 1, 2 a 6, oddělené mezerami.

Ukázkový vstup 2

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

Ukázkový výstup 2

1 2 3 4 5 6 7 8 9 10

Ukázkový vstup 3

30
3 25 20 6 18 12 26 1 29 -1 21 17 23 9 8 30 10 15 22 27 4 13 5 11 16 24 28 2 19 7

Ukázkový výstup 3

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

Je N lidí stojících v řadě: osoba 1, osoba 2, \ldots, osoba N.
Je vám dáno uspořádání lidí jako posloupnost A=(A _ 1,A _ 2,\ldots,A _ N) délky N.
A _ i\ (1\leq i\leq N) představuje následující informace:

- pokud A _ i=-1, osoba i je v čele řady;
- pokud A _ i\neq -1, osoba i stojí přímo za osobou A _ i.

Vytiskněte čísla osob v řadě od začátku do konce.

Vstup

Vstup je poskytován ze standardního vstupu v následujícím formátu:
N
A _ 1 A _ 2 \ldots A _ N

Výstup

Pokud osoba s _ 1, osoba s _ 2, \ldots, osoba s _ N stojí v řadě v tomto pořadí, vytiskněte s _ 1, s _ 2, \ldots, a s _ N v tomto pořadí, oddělené mezerami.

Omezení

- 1\leq N\leq3\times10 ^ 5
- A _ i=-1 nebo 1\leq A _ i\leq N\ (1\leq i\leq N)
- Existuje právě jeden způsob, jak uspořádat N lidí v souladu s poskytnutými informacemi.
- Všechny vstupní hodnoty jsou celá čísla.

Příklad vstupu 1

6
4 1 -1 5 3 2

Příklad výstupu 1

3 5 4 1 2 6

Pokud osoba 3, osoba 5, osoba 4, osoba 1, osoba 2 a osoba 6 stojí v řadě v tomto pořadí od začátku do konce, uspořádání odpovídá poskytnutým informacím.
Opravdu lze vidět, že:

 osoba 1 stojí přímo za osobou 4,
- osoba 2 stojí přímo za osobou 1,
- osoba 3 je na začátku fronty,
- osoba 4 stojí přímo za osobou 5,
- osoba 5 stojí přímo za osobou 3, a
- osoba 6 stojí přímo za osobou 2.

Tedy vytiskněte 3, 5, 4, 1, 2 a 6 v tomto pořadí, oddělené mezerami.

Ukázkový vstup 2

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

Ukázkový výstup 2

1 2 3 4 5 6 7 8 9 10

Ukázkový vstup 3

30
3 25 20 6 18 12 26 1 29 -1 21 17 23 9 8 30 10 15 22 27 4 13 5 11 16 24 28 2 19 7

Ukázkový výstup 3

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

V řadě stojí N lidí: osoba 1, osoba 2, \ldots, osoba N.
Dostanete uspořádání lidí jako posloupnost A=(A _ 1,A _ 2,\ldots,A _ N) délky N.
A _ i\ (1\leq i\leq N) představuje následující informace:

- pokud A _ i=-1, osoba i je na začátku řádku;
- pokud A _ i\neq -1, osoba i je hned za osobou A _ i.

Vytiskněte čísla lidí v řádku zepředu dozadu.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
A _ 1 A _ 2 \ldots A _ N

Výstup

Pokud osoba s _ 1, osoba s _ 2, \ldots, osoba s _ N stojí v řadě v tomto pořadí, vytiskněte s _ 1, s _ 2, \ldots a s _ N v tomto pořadí, oddělené mezerami .

Omezení

- 1\leq N\leq3\times10 ^ 5
- A _ i=-1 nebo 1\leq A _ i\leq N\ (1\leq i\leq N)
- Existuje přesně jeden způsob, jak uspořádat N lidí v souladu s uvedenými informacemi.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

6
4 1 -1 5 3 2

Ukázkový výstup 1

3 5 4 1 2 6

Pokud osoba 3, osoba 5, osoba 4, osoba 1, osoba 2 a osoba 6 stojí v řadě v tomto pořadí zepředu dozadu, odpovídá uspořádání uvedeným informacím.
Ve skutečnosti je vidět, že:

- osoba 1 stojí hned za osobou 4,
- osoba 2 stojí hned za osobou 1,
- osoba 3 je na začátku řady,
- osoba 4 stojí hned za osobou 5,
- osoba 5 stojí hned za osobou 3 a
- osoba 6 stojí hned za osobou 2.

Vytiskněte tedy 3, 5, 4, 1, 2 a 6 v tomto pořadí, oddělené mezerami.

Ukázkový vstup 2

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

Ukázkový výstup 2

1 2 3 4 5 6 7 8 9 10

Ukázkový vstup 3

30
3 25 20 6 18 12 26 1 29 -1 21 17 23 9 8 30 10 15 22 27 4 13 5 11 16 24 28 2 19 7

Ukázkový výstup 3

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


Je zde mřížka s H řádky a W sloupci. Nechť (i, j) označuje buňku ve i-tém řádku odshora a j-tém sloupci zleva.
Každá buňka obsahuje jeden z znaků "o", "x" nebo ".", znaky napsané v každé buňce jsou reprezentovány H řetězci S_1, S_2, \ldots, S_H délky W; znak napsaný v buňce (i, j) je j-tý znak řetězce S_i.
Pro tuto mřížku můžete opakovat následující operaci libovolný početkrát, případně nula:

- Vyberte jednu buňku se znakem "." a změňte znak v této buňce na "o".

Určete, zda je možné mít posloupnost K horizontálně nebo vertikálně po sobě jdoucích buněk se znakem "o" napsaným ve všech buňkách (jinými slovy splňte alespoň jednu z následujících dvou podmínek). Je-li to možné, vypište minimální počet operací potřebných k tomu.

- Existuje dvojice celých čísel (i, j) splňující 1 \leq i \leq H a 1 \leq j \leq W-K+1 taková, že znaky v buňkách (i, j), (i, j+1), \ldots, (i, j+K-1) jsou všechny "o".
- Existuje dvojice celých čísel (i, j) splňující 1 \leq i \leq H-K+1 a 1 \leq j \leq W, taková, že znaky v buňkách (i, j), (i+1, j), \ldots, (i+K-1, j) jsou všechny "o".

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
H W K
S_1
S_2
\vdots
S_H

Výstup

Pokud není možné splnit podmínku v zadání, vypište -1. Jinak vypište minimální počet operací potřebných k jejímu splnění.

Omezení

- H, W a K jsou celá čísla.
- 1 \leq H
- 1 \leq W
- H \times W \leq 2 \times 10^5
- 1 \leq K \leq \max\lbrace H, W \rbrace
- S_i je řetězec délky W sestávající ze znaků "o", "x" a ".".

Ukázkový vstup 1

3 4 3
xo.x
..o.
xx.o

Ukázkový výstup 1

2

Provedením dvou operací, například změnou znaků v buňkách (2, 1) a (2, 2) na "o", můžete splnit podmínku v zadání, a to je minimální počet potřebných operací.

Ukázkový vstup 2

4 2 3
.o
.o
.o
.o

Ukázkový výstup 2

0

Podmínka je splněna bez provedení jakýchkoli operací.

Ukázkový vstup 3

3 3 3
x..
..x
.x.

Ukázkový výstup 3

-1

Není možné splnit podmínku, proto vypište -1.

Ukázkový vstup 4

10 12 6
......xo.o..
x...x.....o.
x...........
..o...x.....
.....oo.....
o.........x.
ox.oox.xx..x
....o...oox.
..o.....x.x.
...o........

Ukázkový výstup 4

3

Je zde mřížka s H řádky a W sloupci. Označme (i, j) buňku na i-tém řádku shora a j-tý sloupec zleva.
Každá buňka obsahuje jeden ze znaků o, x a .. Znaky zapsané v každé buňce jsou reprezentovány H řetězci S_1, S_2, \ldots, S_H délky W; znak zapsaný v buňce (i, j) je j-tým znakem řetězce S_i.
Pro tuto mřížku můžete následující operaci opakovat kolikrát, možná nula:

- Vyberte jednu buňku se znakem . a změňte znak v této buňce na o.

Určete, zda je možné mít posloupnost K vodorovně nebo svisle po sobě jdoucích buněk s o zapsaným ve všech buňkách (jinými slovy, splňte alespoň jednu z následujících dvou podmínek). Pokud je to možné, vytiskněte minimální počet operací potřebných k dosažení tohoto cíle.

- Existuje celočíselný pár (i, j) splňující 1 \leq i \leq H a 1 \leq j \leq W-K+1 tak, že znaky v buňkách (i, j), (i, j+1) , \ldots, (i, j+K-1) jsou všechny o.
- Existuje celočíselný pár (i, j) splňující 1 \leq i \leq H-K+1 a 1 \leq j \leq W takový, že znaky v buňkách (i, j), (i+1, j) , \ldots, (i+K-1, j) jsou všechny o.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
H W K
S_1
S_2
\vdots
S_H

Výstup

Pokud není možné splnit podmínku v prohlášení o problému, vytiskněte -1. V opačném případě vytiskněte minimální počet operací potřebných k tomu.

Omezení

- H, W a K jsou celá čísla.
- 1 \ leq H
- 1 \leq W
- H \krát W \leq 2 \times 10^5
- 1 \leq K \leq \max\lbrace H, W \rbrace
- S_i je řetězec délky W sestávající ze znaků o, x a ..

Ukázkový vstup 1

3 4 3
xo.x
..o.
xx.o

Ukázkový výstup 1

2

Dvojitou operací, například změnou znaků v buňkách (2, 1) a (2, 2) na o, můžete splnit podmínku v příkazu k problému, a to je minimální počet požadovaných operací.

Ukázkový vstup 2

4 2 3
.o
.o
.o
.o

Ukázkový výstup 2

0

Podmínka je splněna bez provedení jakýchkoli operací.

Ukázkový vstup 3

3 3 3
x..
..x
.x.
Ukázkový výstup 3

-1

Podmínku nelze splnit, proto vytiskněte -1.

Ukázkový vstup 4

10 12 6
......xo.o..
x...x.....o.
x...........
..o...x.....
.....oo.....
o.........x.
ox.oox.xx..x
....o...oox.
..o.....x.x.
...o........

Ukázkový výstup 4

3

Je zde mřížka s řádky H a sloupci W. Nechť (i, j) označuje buňku v i-tém řádku shora a j-tém sloupci zleva.
Každá buňka obsahuje jeden ze znaků o, x a .. Znaky zapsané v každé buňce jsou reprezentovány řetězci H S_1, S_2, \ldots, S_H o délce W; znak zapsaný v buňce (i, j) je j-tý znak řetězce S_i.
Pro tuto mřížku můžete následující operaci opakovat libovolný početkrát, případně i nulový:

- Vyberte jednu buňku se znakem . a změňte znak v této buňce na o.

Určete, zda je možné mít posloupnost K vodorovně nebo svisle po sobě jdoucích buněk s o zapsaným ve všech buňkách (jinými slovy, zda splňuje alespoň jednu z následujících dvou podmínek). Pokud je to možné, vypište minimální počet operací potřebných k dosažení tohoto cíle.

- Existuje dvojice celých čísel (i, j) splňující podmínky 1 \leq i \leq H a 1 \leq j \leq W-K+1 tak, že všechny znaky v buňkách (i, j), (i, j+1), \ldots, (i, j+K-1) jsou o.
- Existuje dvojice celých čísel (i, j) splňující podmínky 1 \leq i \leq H-K+1 a 1 \leq j \leq W tak, že všechny znaky v políčkách (i, j), (i+1, j), \ldots, (i+K-1, j) jsou o.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
H W K
S_1
S_2
\vdots
S_H

Výstup

Pokud není možné splnit podmínku v zadání problému, vypište -1. V opačném případě vypište minimální počet operací, které jsou k tomu potřeba.

Omezení

- H, W a K jsou celá čísla.
- 1 \leq H
- 1 \leq W
 - H \times W \leq 2 \times 10^5
- 1 \leq K \leq \max\lbrace H, W \rbrace
- S_i je řetězec délky W složený ze znaků o, x a ..

Vzorový vstup 1

3 4 3
xo.x
..o.
xx.o

Ukázka výstupu 1

2

Dvěma operacemi, například změnou znaků v buňkách (2, 1) a (2, 2) na o, lze splnit podmínku v zadání úlohy, a to je minimální počet požadovaných operací.

Vzorový vstup 2

4 2 3
.o
.o
.o
.o

Ukázka výstupu 2

0

Podmínka je splněna, aniž by byly provedeny jakékoli operace.

Vzorový vstup 3

3 3 3
x..
..x
.x.

Vzorový výstup 3

-1

Podmínku nelze splnit, proto vypište -1.

Vzorový vstup 4

10 12 6
......xo.o..
x...x.....o.
x...........
..o...x.....
.....oo.....
o.........x.
ox.oox.xx..x
....o...oox.
..o.....x.x.
...o........

Ukázka výstupu 4

3


Toto je interaktivní úloha (typ úlohy, kde váš program interaguje s programem rozhodčího prostřednictvím standardního vstupu a výstupu).
Existuje N lahví džusu, očíslovaných od 1 do N. Bylo zjištěno, že přesně jedna z těchto lahví je zkažená. I malý doušek zkaženého džusu způsobí druhý den nevolnost.
Takahashi musí zkaženou lahev identifikovat do druhého dne. K tomu se rozhodne zavolat minimální potřebný počet přátel a naservírovat jim některé z N lahví džusu. Může dát libovolný počet lahví každému příteli a každou lahev džusu může dát libovolnému počtu přátel.
Vytiskněte počet přátel, které má zavolat, a jak rozdělit džus, poté přijměte informace o tom, zda má každý přítel následující den žaludeční nevolnost, a vytiskněte číslo zkažené lahve.

Vstup/Výstup

Toto je interaktivní úloha (typ úlohy, kde váš program interaguje s programem rozhodčího prostřednictvím standardního vstupu a výstupu).
Před interakcí rozhodčí tajně vybere celé číslo X mezi 1 a N jako číslo zkažené lahve. Hodnota X vám není poskytnuta. Hodnota X se také může během interakce měnit, pokud je v souladu s omezeními a předchozími výstupy.
Nejprve vám rozhodčí dá hodnotu N jako vstup.
N

Měli byste vytisknout počet přátel, které chcete zavolat, M, následovaný odřádkováním.
M

Dále byste měli provést následující postup pro vytištění M výstupů.
Pro i = 1, 2, \ldots, M by měl i-tý výstup obsahovat počet K_i lahví džusu, které naservírujete i-tému příteli, a čísla těchto K_i lahví ve vzestupném pořadí, A_{i, 1}, A_{i, 2}, \ldots, A_{i, K_i}, oddělené mezerami, následované odřádkováním.
K_i A_{i, 1} A_{i, 2} \ldots A_{i, K_i}

Poté vám rozhodčí oznámí, zda má každý přítel následující den žaludeční nevolnost, tím, že vám dá řetězec S délky M složený z 0 a 1.
S

Pro i = 1, 2, \ldots, M má i-tý přítel žaludeční nevolnost, pokud a jen pokud je i-tý znak S roven 1.
Měli byste odpovědět vytištěním čísla zkažené lahve X', následovaným odřádkováním.
X'

Poté program ihned ukončete.
Pokud je M, které jste vytiskli, minimální potřebný počet přátel pro identifikaci zkaženého džusu z N lahví, a X', které jste vytiskli, odpovídá číslu zkažené lahve X, pak je váš program považován za správný.

Omezení

- N je celé číslo.
- 2 \leq N \leq 100

Toto je interaktivní problém (typ problému, kde váš program interaguje s hodnotícím programem prostřednictvím standardního vstupu a výstupu).
Je zde N lahví džusu, očíslovaných od 1 do N. Bylo zjištěno, že přesně jedna z těchto lahví je zkažená. I malý doušek zkaženého džusu způsobí následující den žaludeční nevolnost.
Takahashi musí identifikovat zkaženou láhev do následujícího dne. Za tímto účelem se rozhodne zavolat minimálně nutný počet přátel a dát jim ochutnat některé z N lahví džusu. Každému příteli může dát libovolný počet lahví, přičemž každou láhev lze dát libovolnému počtu přátel.
Vytiskněte počet přátel, které zavolá, a jak džus rozdělí, poté obdržíte informaci, zda měl každý přítel následující den žaludeční nevolnost, a vytiskněte číslo zkažené lahve.

Výstup

Toto je interaktivní problém (typ problému, kde váš program interaguje s hodnotícím programem prostřednictvím standardního vstupu a výstupu).
Před interakcí hodnotící program tajně vybere celé číslo X mezi 1 a N jako číslo zkažené lahve. Hodnota X vám není dána. Hodnota X se může během interakce změnit, pokud zůstává konzistentní s omezeními a předchozími výstupy.
Nejprve hodnotící program dá vstup N:

Měli byste vytisknout počet přátel, které chcete zavolat, M, následovaný odřádkováním.
M

Dále byste měli provést následující postup pro vytištění M výstupů.
Pro i = 1, 2, \ldots, M by měl i-tý výstup obsahovat počet K_i lahví džusu, které naservírujete i-tému příteli, a čísla těchto K_i lahví ve vzestupném pořadí, A_{i, 1}, A_{i, 2}, \ldots, A_{i, K_i}, oddělené mezerami, následované odřádkováním.
K_i A_{i, 1} A_{i, 2} \ldots A_{i, K_i}

Poté vám hodnotící program oznámí, zda má každý přítel následující den žaludeční nevolnost, tím, že vám dá řetězec S délky M složený z 0 a 1.
S

Pro i = 1, 2, \ldots, M má i-tý přítel žaludeční nevolnost, pokud a jen pokud je i-tý znak S roven 1.
Měli byste odpovědět vytištěním čísla zkažené lahve X', následovaným odřádkováním.
X'

Poté program ihned ukončete.
Pokud je M, které jste vytiskli, minimální potřebný počet přátel pro identifikaci zkaženého džusu z N lahví, a X', které jste vytiskli, odpovídá číslu zkažené lahve X, pak je váš program považován za správný.

Omezení:

-  N je celé číslo.
- 2 \leq N \leq 100

Toto je interaktivní úloha (typ úlohy, kde váš program interaguje s programem rozhodčího prostřednictvím standardního vstupu a výstupu).
Před interakcí rozhodčí tajně vybere celé číslo X mezi 1 a N jako číslo zkažené lahve. Hodnota X vám není dána. Hodnota X se může během interakce měnit, pokud je v souladu s omezeními a předchozími výstupy.
Nejprve vám rozhodčí dá jako vstup N.
N

Měli byste vytisknout počet přátel, které zavoláte, M, následovaný novým řádkem.
M

Dále byste měli provést následující postup pro tisk M výstupů.
Pro i = 1, 2, \ldots, M, i-tý výstup by měl obsahovat počet lahví džusu, které dáte i-tému příteli, a čísla K_i lahví v rostoucím pořadí, A_{i, 1}, A_{i, 2}, \ldots, A_{i, K_i}, oddělené mezerami, následované novým řádkem.
K_i A_{i, 1} A_{i, 2} \ldots A_{i, K_i}

Poté vás rozhodčí informuje, zda má každý přítel druhý den žaludeční nevolnost tím, že vám dá řetězec S délky M sestávající z 0 a 1.
S

Pro i = 1, 2, \ldots, M, i-tý přítel má žaludeční nevolnost, pokud a pouze pokud je i-tý znak S 1.
Měli byste odpovědět vytištěním čísla zkažené lahve X', následovaného novým řádkem.
X'

Poté okamžitě ukončete program.
Pokud je M, které jste vytiskli, minimální potřebný počet přátel k identifikaci zkaženého džusu z N lahví, a X', které jste vytiskli, odpovídá číslu zkažené lahve X, pak je váš program považován za správný.

Omezení

- N je celé číslo.
- 2 \leq N \leq 100


Máte zadaný neprázdný řetězec S skládající se z velkých a malých písmen anglické abecedy. Určete, zda je splněna následující podmínka:

- První znak S je velké písmeno a všechny ostatní znaky jsou malá písmena.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
S

Výstup

Pokud je podmínka splněna, vypište Yes; v opačném případě vypište No.

Omezení

- 1 \leq |S| \leq 100 (|S| je délka řetězce S.)
- Každý znak S je velké nebo malé písmeno anglické abecedy.

Ukázkový vstup 1

Capitalized

Ukázkový výstup 1

Yes

První znak C z Capitalized je velké písmeno a všechny ostatní znaky apitalized jsou malá písmena, takže byste měli vypsat Yes.

Ukázkový vstup 2

AtCoder

Ukázkový výstup 2

No

AtCoder obsahuje velké písmeno C, které není na začátku, takže byste měli vypsat No.

Ukázkový vstup 3

yes

Ukázkový výstup 3

No

První znak y z yes není velké písmeno, takže byste měli vypsat No.

Ukázkový vstup 4

A

Ukázkový výstup 4

Yes

Dostanete neprázdný řetězec S, který se skládá z velkých a malých anglických písmen. Zjistěte, zda je splněna následující podmínka:

- První znak znaku S je velký a všechny ostatní znaky jsou malá.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
S

Výstup

Pokud je podmínka splněna, vytiskněte Yes; v opačném případě print No.

Omezení

- 1 leq |S| leq 100 (|S| je délka řetězce S.)
- Každý znak znaku S je velké nebo malé anglické písmeno.

Vzorový vstup 1

Velké písmeno

Ukázkový výstup 1

Yes

První znak C ve slově Capitalized je velká písmena a všechny ostatní znaky jsou malá, takže byste měli vytisknout Yes.

vzorový vstup 2

AtCoder

Ukázkový výstup 2

No

AtCoder obsahuje velké písmeno C, které není na začátku, takže byste měli vytisknout No.

Vzorový vstup 3

Yes

Ukázkový výstup 3

No

První znak y ve slově yes není velké písmeno, takže byste měli vytisknout No.

vzorový vstup 4

A

Ukázkový výstup 4

Yes

Dostanete neprázdný řetězec S skládající se z velkých a malých anglických písmen. Zjistěte, zda je splněna následující podmínka:

- První znak S je velké a všechny ostatní znaky jsou malá.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
S

Výstup

Pokud je podmínka splněna, vytiskněte Ano; jinak tisk č.

Omezení

- 1 \leq |S| \leq 100 (|S| je délka řetězce S.)
- Každý znak S je velké nebo malé anglické písmeno.

Ukázkový vstup 1

Capitalized

Ukázkový výstup 1

Yes

První znak C z Velkého písmena je velký a všechny ostatní apitalizované znaky jsou malé, takže byste měli vytisknout Yes.

Ukázkový vstup 2

AtCoder

Ukázkový výstup 2

No

AtCoder obsahuje velké písmeno C, které není na začátku, takže byste měli vytisknout No.

Ukázkový vstup 3

Yes

Ukázkový výstup 3

No

První znak y ano není velký, takže byste měli vytisknout Ne.

Ukázkový vstup 4

A

Ukázkový výstup 4

Yes


Je dána řetězec S složený z malých písmen anglické abecedy. Najděte znak, který se v S objevuje nejčastěji. Pokud existuje více takových znaků, uveďte ten, který je v abecedním pořadí nejdříve.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
S

Výstup

Mezi znaky, které se objevují nejčastěji v S, vytiskněte ten, který je v abecedním pořadí nejdříve.

Omezení

- 1 \leq |S| \leq 1000 (|S| je délka řetězce S.)
- Každý znak v S je malé písmeno anglické abecedy.

Příklad vstupu 1

frequency

Příklad výstupu 1

e

V "frequency" se písmeno e objevuje dvakrát, což je více než jakýkoli jiný znak, takže tiskněte e.

Příklad vstupu 2

atcoder

Příklad výstupu 2

a

V "atcoder" se každý z písmen a, t, c, o, d, e a r objevuje jednou, takže byste měli vytisknout ten, který je v abecedním pořadí nejdříve, což je a.

Příklad vstupu 3

pseudopseudohypoparathyroidism

Příklad výstupu 3

o

Dostanete řetězec S složený z malých anglických písmen. Najděte znak, který se v S vyskytuje nejčastěji. Pokud takových znaků existuje více, nahlaste ten, který přichází nejdříve v abecedním pořadí.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
S

Výstup

Mezi znaky, které se v S objevují nejčastěji, vytiskněte v abecedním pořadí ten, který přichází nejdříve.

Omezení

- 1 \leq |S| \leq 1000 (|S| je délka řetězce S.)
- Každý znak v S je malé anglické písmeno.

Ukázkový vstup 1

frekvence

Ukázkový výstup 1

E

Písmeno e se často objevuje dvakrát, což je více než kterýkoli jiný znak, takže byste měli vytisknout e.

Ukázkový vstup 2

atcoder

Ukázkový výstup 2

A

V atcoderu se každé z písmen a, t, c, o, d, e a r objeví jednou, takže byste měli vytisknout nejdříve v abecedním pořadí, což je a.

Ukázkový vstup 3

pseudopseudohypoparatyreóza

Ukázkový výstup 3

o

Máte řetězec S sestávající z malých písmen anglické abecedy. Najděte znak, který se v S vyskytuje nejčastěji. Pokud existuje více takových znaků, uveďte ten, který je v abecedním pořadí nejdříve.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
S

Výstup

Mezi znaky, které se v S vyskytují nejčastěji, vytiskněte ten, který je v abecedním pořadí nejdříve.

Omezení

1 \leq |S| \leq 1000 (|S| je délka řetězce S.)
Každý znak v S je malé písmeno anglické abecedy.
Ukázkový vstup 1

frequency

Ukázkový výstup 1

e

Ve slově frequency se písmeno e vyskytuje dvakrát, což je více než jakýkoli jiný znak, takže byste měli vytisknout e.

Ukázkový vstup 2

atcoder

Ukázkový výstup 2

a

Ve slově atcoder se každý z písmen a, t, c, o, d, e a r vyskytuje jednou, takže byste měli vytisknout to, které je v abecedním pořadí nejdříve, což je a.

Ukázkový vstup 3

pseudopseudohypoparathyroidism

Ukázkový výstup 3

o


V lednici máte N druhů ingrediencí. Nazvěme je ingredience 1, \dots, ingredience N. Máte Q_i gramů přísady i.
Můžete připravit dva druhy pokrmů. K přípravě jedné porce pokrmu A potřebujete A_i gramů každé složky i (1 \leq i \leq N). K přípravě jedné porce pokrmu B potřebujete B_i gramů každé přísady i. Z každého typu pokrmu můžete připravit pouze celočíselný počet porcí.
Jaký je maximální celkový počet porcí pokrmů, které můžete vyrobit, pouze s použitím přísad v lednici?

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
Q_1 Q_2 \dots Q_N
A_1 A_2 \dots A_N
B_1 B_2 \dots B_N

Výstup

Za předpokladu, že můžete připravit maximálně S porcí pokrmů, vypište celé číslo S.

Omezení

- 1 \leq N \leq 10
- 1 \leq Q_i \leq 10^6
- 0 \leq A_i \leq 10^6
- Existuje takové i, že A_i \geq 1.
- 0 \leq B_i \leq 10^6
- Existuje i takové, že B_i \geq 1.
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

2
800 300
100 100
200 10

Vzorový výstup 1

5

Tato lednice obsahuje 800 gramů složky 1 a 300 gramů složky 2.
Můžete připravit jednu porci pokrmu A ze 100 gramů složky 1 a 100 gramů složky 2 a jednu porci pokrmu B z 200 gramů složky 1 a 10 gramů složky 2.
K přípravě dvou porcí pokrmu A a tří porcí pokrmu B potřebujete 100 \times 2 + 200 \times 3 = 800 gramů přísady 1 a 100 \times 2 + 10 \times 3 = 230 gramů přísady 2, přičemž ani jedno z těchto množství nepřesahuje množství dostupné v chladničce. Tímto způsobem můžete připravit celkem pět porcí pokrmů, ale není možné jich připravit šest, takže odpověď je 5.

Vzorový vstup 2

2
800 300
100 0
0 10

Vzorový výstup 2

38

Z 800 gramů přísady 1 lze připravit 8 porcí pokrmu A a z 300 gramů přísady 2 30 porcí pokrmu B, celkem tedy 38 porcí.

Vzorový vstup 3

2
800 300
801 300
800 301

Vzorový výstup 3

0

Nelze vytvořit žádné pokrmy.

Vzorový vstup 4

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

Vzorový výstup 4

222222

Vaše lednice má N druhů přísad. Označme je jako přísada 1, \dots, přísada N. Máte Q_i gramů přísady i.
Můžete připravit dva typy pokrmů. K přípravě jedné porce pokrmu A potřebujete A_i gramů každé přísady i (1 \leq i \leq N). K přípravě jedné porce pokrmu B potřebujete B_i gramů každé přísady i. Můžete připravit pouze celé počty porcí každého druhu pokrmu.
Použitím pouze přísad v lednici, jaký je maximální celkový počet porcí pokrmů, které můžete připravit?

Vstup

Vstup je poskytován ze standardního vstupu v následujícím formátu:
N
Q_1 Q_2 \dots Q_N
A_1 A_2 \dots A_N
B_1 B_2 \dots B_N

Výstup

Předpokládejme, že můžete připravit maximálně celkem S porcí pokrmů, vytiskněte celé číslo S.

Omezení

- 1 \leq N \leq 10
- 1 \leq Q_i \leq 10^6
- 0 \leq A_i \leq 10^6
- Existuje i takové, že A_i \geq 1.
- 0 \leq B_i \leq 10^6
- Existuje i takové, že B_i \geq 1.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

2
800 300
100 100
200 10

Ukázkový výstup 1

5

Tato lednice má 800 gramů přísady 1 a 300 gramů přísady 2.
Můžete připravit jednu porci pokrmu A se 100 gramy přísady 1 a 100 gramy přísady 2 a jednu porci pokrmu B se 200 gramy přísady 1 a 10 gramy přísady 2.
K přípravě dvou porcí pokrmu A a tří porcí pokrmu B potřebujete 100 \times 2 + 200 \times 3 = 800 gramů přísady 1 a 100 \times 2 + 10 \times 3 = 230 gramů přísady 2, což nepřesahuje množství dostupné v lednici. Tímto způsobem můžete připravit celkem pět porcí pokrmů, ale není možné připravit šest, takže odpověď je 5.

Ukázkový vstup 2

2
800 300
100 0
0 10

Ukázkový výstup 2

38

Můžete připravit 8 porcí pokrmu A s 800 gramy přísady 1 a 30 porcí pokrmu B s 300 gramy přísady 2, což dává celkem 38 porcí.

Ukázkový vstup 3

2
800 300
801 300
800 301

Ukázkový výstup 3

0

Nemůžete připravit žádné pokrmy.

Ukázkový vstup 4

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

Ukázkový výstup 4

222222

Vaše lednička má N druhů ingrediencí. Říkejme jim přísada 1, \tečky, přísada N. Máte Q_i gramů přísady i.
Můžete připravit dva druhy pokrmů. K přípravě jedné porce jídla A potřebujete A_i gramů každé ingredience i (1 \leq i \leq N). K přípravě jedné porce jídla B potřebujete B_i gramů každé ingredience i. Pro každý typ jídla můžete udělat pouze celočíselný počet porcí.
Jaký je maximální celkový počet porcí pokrmů, které můžete připravit, když použijete pouze ingredience v lednici?

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
Q_1 Q_2 \tečky Q_N
A_1 A_2 \tečky A_N
B_1 B_2 \tečky B_N

Výstup

Za předpokladu, že můžete vyrobit maximálně S porcí jídel, vytiskněte celé číslo S.

Omezení

- 1 \leq N \leq 10
- 1 \leq Q_i \leq 10^6
- 0 \leq A_i \leq 10^6
- Existuje i takové, že A_i \geq 1.
- 0 \leq B_i \leq 10^6
- Existuje i takové, že B_i \geq 1.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

2
800 300
100 100
200 10

Ukázkový výstup 1

5

Tato chladnička má 800 gramů složky 1 a 300 gramů složky 2.
Můžete připravit jednu porci jídla A se 100 gramy složky 1 a 100 gramů složky 2 a jednu porci jídla B s 200 gramy složky 1 a 10 gramy složky 2.
K přípravě dvou porcí jídla A a tří porcí jídla B potřebujete 100 \krát 2 + 200 \krát 3 = 800 gramů přísady 1 a 100 \krát 2 + 10 \krát 3 = 230 gramů přísady 2, ani z toho převyšuje množství dostupné v chladničce. Tímto způsobem můžete připravit celkem pět porcí pokrmů, ale neexistuje způsob, jak vyrobit šest, takže odpověď je 5.

Ukázkový vstup 2

2
800 300
100 0
0 10

Ukázkový výstup 2

38

Můžete připravit 8 porcí pokrmu A s 800 gramy složky 1 a 30 porcí pokrmu B s 300 gramy složky 2, celkem tedy 38 porcí.

Ukázkový vstup 3

2
800 300
801 300
800 301

Ukázkový výstup 3

0

Nemůžete vařit žádné pokrmy.

Ukázkový vstup 4

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

Ukázkový výstup 4

222222


Souostroví AtCoder se skládá z N ostrovů spojených N mosty.
Ostrovy jsou číslovány od 1 do N a i-tý most (1\leq i\leq N-1) spojuje ostrovy i a i+1 obousměrně, zatímco N-tý most spojuje ostrovy N a 1 obousměrně.
Mezi ostrovy se nedá cestovat jinak než přes mosty.
Na ostrovech se pravidelně pořádá turné, které začíná z ostrova X_1 a navštěvuje ostrovy X_2, X_3, \dots, X_M v pořadí.
Prohlídka může vést i přes jiné než navštěvované ostrovy a celkový počet překročení mostů během prohlídky je definován jako délka prohlídky.
Přesněji řečeno, prohlídka je sekvence l+1 ostrovů a_0, a_1, \dots, a_l, která splňuje všechny následující podmínky a její délka je definována jako l:

- Pro všechna j\ (0\leq j\leq l-1) jsou ostrovy a_j a a_{j+1} přímo spojeny mostem.
- Existuje několik 0 = y_1 < y_2 < \tečky < y_M = l takové, že pro všechna k\ (1\leq k\leq M) platí a_{y_k} = X_k.

Kvůli finančním potížím ostrovy uzavřou jeden most, aby snížily náklady na údržbu.
Určete minimální možnou délku prohlídky při optimálním výběru uzavíraného mostu.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N M
X_1 X_2 \tečky X_M

Výstup

Vytiskněte odpověď jako celé číslo.

Omezení

- 3\leq N \leq 2\krát 10^5
- 2\leq M \leq 2\krát 10^5
- 1\leq X_k\leq N
- X_k\neq X_{k+1}\ (1\leq k\leq M-1)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 3
1 3 2

Ukázkový výstup 1

2

- Pokud je první most zavřený: Vezmeme-li posloupnost ostrovů (a_0, a_1, a_2) = (1, 3, 2), je možné navštívit ostrovy 1, 3, 2 v pořadí a prohlídku délky 2 lze provést. Žádná kratší prohlídka se nekoná.
- Pokud je druhý most zavřený: Vezmeme-li posloupnost ostrovů (a_0, a_1, a_2, a_3) = (1, 3, 1, 2), je možné navštívit ostrovy 1, 3, 2 v pořadí a lze provést prohlídku délky 3. Žádná kratší prohlídka se nekoná.
- Pokud je třetí most uzavřen: Vezmeme-li posloupnost ostrovů (a_0, a_1, a_2, a_3) = (1, 2, 3, 2), je možné navštívit ostrovy 1, 3, 2 v pořadí a lze provést prohlídku délky 3. Žádná kratší prohlídka se nekoná.

Minimální možná délka prohlídkové trasy při optimální volbě uzavíraného mostu je tedy 2.
Následující obrázek ukazuje zleva doprava případy, kdy jsou mosty 1, 2, 3 uzavřeny, resp. Kruhy s čísly představují ostrovy, čáry spojující kruhy představují mosty a modré šipky představují nejkratší prohlídkové trasy.

Ukázkový vstup 2

45
2 4 2 4 2

Ukázkový výstup 2

8

Stejný ostrov se může objevit vícekrát v X_1, X_2, \dots, X_M.

Ukázkový vstup 3

163054 10
62874 19143 77750 111403 29327 56303 6659 18896 64175 26369

Ukázkový výstup 3

390009

Souostroví AtCoder se skládá z N ostrovů spojených N mosty.
Ostrovy jsou očíslovány od 1 do N a i-tý most (1\leq i\leq N-1) spojuje ostrovy i a i+1 obousměrně, zatímco N-tý most spojuje ostrovy N a 1 obousměrně.
Mezi ostrovy se nedá cestovat jinak než přes mosty.
Na ostrovech se pravidelně provádí prohlídka, která začíná na ostrově X_1 a navštěvuje ostrovy X_2, X_3, \dots, X_M v pořadí.
Prohlídka může procházet i přes jiné ostrovy, než které jsou právě navštěvovány, a celkový počet přechodů přes mosty během prohlídky je definován jako délka prohlídky.
Přesněji řečeno, prohlídka je posloupnost l+1 ostrovů a_0, a_1, \dots, a_l, která splňuje všechny následující podmínky, a její délka je definována jako l:

- Pro všechny j\ (0\leq j\leq l-1) jsou ostrovy a_j a a_{j+1} přímo spojeny mostem.
- Existují nějaké 0 = y_1 < y_2 < \dots < y_M = l takové, že pro všechna k\ (1\leq k\leq M) je a_{y_k} = X_k.

Kvůli finančním potížím ostrovy uzavřou jeden most, aby snížily náklady na údržbu.
Určete nejmenší možnou délku trasy, je-li most, který má být uzavřen, zvolen optimálně.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N M
X_1 X_2 \dots X_M

Výstup

Vypíše odpověď jako celé číslo.

Omezení

- 3\leq N \leq 2\krát 10^5
- 2\leq M \leq 2\krát 10^5
- 1\leq X_k\leq N
- X_k\neq X_{k+1}\ (1\leq k\leq M-1)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázka vstupu 1

3 3
1 3 2

Ukázka výstupu 1

2

- Pokud je první most uzavřen: Vezmeme-li posloupnost ostrovů (a_0, a_1, a_2) = (1, 3, 2), je možné navštívit ostrovy 1, 3, 2 v pořadí a lze provést prohlídku o délce 2. Kratší prohlídka neexistuje.
- Pokud je druhý most uzavřen: Vezmeme-li posloupnost ostrovů (a_0, a_1, a_2, a_3) = (1, 3, 1, 2), je možné navštívit ostrovy 1, 3, 2 v pořadí a lze provést prohlídku délky 3. Kratší prohlídka neexistuje.
- Pokud je třetí most uzavřen: Vezmeme-li posloupnost ostrovů (a_0, a_1, a_2, a_3) = (1, 2, 3, 2), je možné navštívit ostrovy 1, 3, 2 v pořadí a lze provést prohlídku o délce 3. Kratší prohlídka neexistuje.

Minimální možná délka prohlídky při optimální volbě uzavíraného mostu je tedy 2.
Následující obrázek ukazuje zleva doprava případy, kdy jsou uzavřeny mosty 1, 2, 3, v tomto pořadí. Kruhy s čísly představují ostrovy, čáry spojující kruhy představují mosty a modré šipky představují nejkratší trasy prohlídek.

Vzorový vstup 2

4 5
2 4 2 4 2

Vzorový výstup 2

8

Stejný ostrov se může objevit vícekrát v X_1, X_2, \dots, X_M.

Vzorový vstup 3

163054 10
62874 19143 77750 111403 29327 56303 6659 18896 64175 26369

Ukázka výstupu 3

390009

Souostroví AtCoder se skládá z N ostrovů spojených N mosty.
Ostrovy jsou číslovány od 1 do N a i-tý most (1\leq i\leq N-1) spojuje ostrovy i a i+1 obousměrně, zatímco N-tý most spojuje ostrovy N a 1 obousměrně.
Mezi ostrovy se nedá cestovat jinak než přes mosty.
Na ostrovech se pravidelně pořádá turné, které začíná z ostrova X_1 a navštěvuje ostrovy X_2, X_3, \dots, X_M v pořadí.
Prohlídka může vést i přes jiné než navštěvované ostrovy a celkový počet překročení mostů během prohlídky je definován jako délka prohlídky.
Přesněji řečeno, prohlídka je sekvence l+1 ostrovů a_0, a_1, \dots, a_l, která splňuje všechny následující podmínky a její délka je definována jako l:

- Pro všechna j\ (0\leq j\leq l-1) jsou ostrovy a_j a a_{j+1} přímo spojeny mostem.
- Existuje několik 0 = y_1 < y_2 < \tečky < y_M = l takové, že pro všechna k\ (1\leq k\leq M) platí a_{y_k} = X_k.

Kvůli finančním potížím ostrovy uzavřou jeden most, aby snížily náklady na údržbu.
Určete minimální možnou délku prohlídky při optimálním výběru uzavíraného mostu.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N M
X_1 X_2 \dots X_M

Výstup

Vytiskněte odpověď jako celé číslo.

Omezení

- 3\leq N \leq 2\times 10^5
- 2\leq M \leq 2\times 10^5
- 1\leq X_k\leq N
- X_k\neq X_{k+1}\ (1\leq k\leq M-1)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 3
1 3 2

Ukázkový výstup 1

2

- Pokud je první most zavřený: Vezmeme-li posloupnost ostrovů (a_0, a_1, a_2) = (1, 3, 2), je možné navštívit ostrovy 1, 3, 2 v pořadí a prohlídku délky 2 lze provést. Žádná kratší prohlídka se nekoná.
- Pokud je druhý most zavřený: Vezmeme-li posloupnost ostrovů (a_0, a_1, a_2, a_3) = (1, 3, 1, 2), je možné navštívit ostrovy 1, 3, 2 v pořadí a lze provést prohlídku délky 3. Žádná kratší prohlídka se nekoná.
- Pokud je třetí most uzavřen: Vezmeme-li posloupnost ostrovů (a_0, a_1, a_2, a_3) = (1, 2, 3, 2), je možné navštívit ostrovy 1, 3, 2 v pořadí a lze provést prohlídku délky 3. Žádná kratší prohlídka se nekoná.

Minimální možná délka prohlídkové trasy při optimální volbě uzavíraného mostu je tedy 2.
Následující obrázek ukazuje zleva doprava případy, kdy jsou mosty 1, 2, 3 uzavřeny, resp. Kruhy s čísly představují ostrovy, čáry spojující kruhy představují mosty a modré šipky představují nejkratší prohlídkové trasy.

Ukázkový vstup 2

45
2 4 2 4 2

Ukázkový výstup 2

8

Stejný ostrov se může objevit vícekrát v X_1, X_2, \dots, X_M.

Ukázkový vstup 3

163054 10
62874 19143 77750 111403 29327 56303 6659 18896 64175 26369

Ukázkový výstup 3

390009


Na kružnici je ve stejných intervalech umístěno 2N bodů očíslovaných od 1 do 2N ve směru hodinových ručiček, počínaje určitým bodem.
Na kružnici je také N akordů, přičemž i-tý akord spojuje body A_i a B_i.
Je zaručeno, že všechny hodnoty A_1,\dots,A_N,B_1,\dots,B_N jsou různé.
Určete, zda existuje průsečík mezi tětivami.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N
A_1 B_1
A_2 B_2
\vdots
A_N B_N

Výstup

Pokud existuje průsečík mezi akordy, vypište Yes; v opačném případě vypište No.

Omezení

- 2\leq N \leq 2\times 10^5
- 1\leq A_i,B_i \leq 2N
- A_1,\dots,A_N,B_1,\dots,B_N jsou všechny různé
- Všechny vstupní hodnoty jsou celá čísla

Ukázkový vstup 1

3
1 3
4 2
5 6

Vzorový výstup 1

Yes

Jak je znázorněno na obrázku, tětiva 1 (úsečka spojující body 1 a 3) a tětiva 2 (úsečka spojující body 4 a 2) se protínají, proto vypište Yes.

Vzorový vstup 2

3
6 1
4 3
2 5

Vzorový výstup 2

No

Jak je vidět na obrázku, mezi akordy není žádný průsečík, takže vypište No.

Vzorový vstup 3

4
2 4
3 7
8 6
5 1

Ukázka výstupu 3

Yes

Na kruhu je 2N bodů umístěných ve stejných intervalech, očíslovaných 1 až 2N ve směru hodinových ručiček, počínaje od určitého bodu.
Na kruhu je také N tětiva, přičemž i-tý tětiva spojuje body A_i a B_i.
Je zaručeno, že všechny hodnoty A_1,\tečky,A_N,B_1,\tečky,B_N jsou odlišné.
Určete, zda mezi tětivami existuje průsečík.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
A_1 B_1
A_2 B_2
\vtečky
A_N B_N

Výstup

Pokud je mezi tětivami průsečík, vytiskněte Ano; jinak vytiskněte Ne.

Omezení

- 2\leq N \leq 2 \krát 10^5
- 1\leq A_i,B_i \leq 2N
- A_1,\dots,A_N,B_1,\dots,B_N jsou různé
- Všechny vstupní hodnoty jsou celá čísla

Ukázkový vstup 1

3
1 3
4 2
5 6

Ukázkový výstup 1

Yes

Jak je znázorněno na obrázku, tětiva 1 (úsečka spojující body 1 a 3) a tětiva 2 (úsečka spojující body 4 a 2) se protínají, takže vytiskněte Ano.

Ukázkový vstup 2

3
6 1
4 3
2 5

Ukázkový výstup 2

No

Jak je znázorněno na obrázku, mezi tětivami není žádný průsečík, takže vytiskněte č.

Ukázkový vstup 3

4
2 4
3 7
8 6
5 1

Ukázkový výstup 3

Yes

Na kružnici je 2N bodů umístěných ve stejných intervalech, očíslovaných 1 až 2N ve směru hodinových ručiček počínaje od určitého bodu.
Na kruhu je také N tětivaů, přičemž i-tý tětiva spojuje body A_i a B_i.
Je zaručeno, že všechny hodnoty A_1,\vdots,A_N,B_1,\vdots,B_N jsou odlišné.
Určete, zda mezi tětivami existuje průsečík.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
A_1 B_1
A_2 B_2
\vdots
A_N B_N

Výstup

Pokud je mezi tětivami průsečík, vytiskněte Ano; jinak vytiskněte Ne.

Omezení

- 2\leq N \leq 2\krát 10^5
- 1\leq A_i,B_i \leq 2N
- A_1,\vdots,A_N,B_1,\vdots,B_N jsou různé
- Všechny vstupní hodnoty jsou celá čísla

Ukázkový vstup 1

3
1 3
4 2
5 6

Ukázkový výstup 1

Yes

Jak je znázorněno na obrázku, tětiva 1 (úsečka spojující body 1 a 3) a tětiva 2 (úsečka spojující body 4 a 2) se protínají, takže vytiskněte Ano.

Ukázkový vstup 2

3
6 1
4 3
2 5

Ukázkový výstup 2

No

Jak je znázorněno na obrázku, mezi tětivami není průsečík, takže vytiskněte č.

Ukázkový vstup 3

4
2 4
3 7
8 6
5 1

Ukázkový výstup 3

Yes


Existuje orientovaný graf s N vrcholy a M hranami.
Vrcholy jsou očíslovány od 1 do N, a i-th hrana má váhu W_i a vede z vrcholu U_i do vrcholu V_i.
Váhy mohou být záporné, ale graf neobsahuje záporné cykly.
Určete, zda existuje procházka, která navštíví každý vrchol alespoň jednou. Pokud taková procházka existuje, najděte minimální celkovou váhu procházených hran.
Pokud je stejná hrana procházena vícekrát, váha této hrany se přičte při každém průchodu.
Zde "procházka, která navštíví každý vrchol alespoň jednou" je posloupnost vrcholů v_1,v_2,\dots,v_k, která splňuje obě následující podmínky:

- Pro každé i (1\leq i\leq k-1) existuje hrana vedoucí z vrcholu v_i do vrcholu v_{i+1}.
- Pro každé j\ (1\leq j\leq N) existuje i (1\leq i\leq k) tak, že v_i=j.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N M
U_1 V_1 W_1
U_2 V_2 W_2
\vdots
U_M V_M W_M

Výstup

Pokud existuje procházka, která navštíví každý vrchol alespoň jednou, vypište minimální celkovou váhu procházených hran. Jinak vypište No.

Omezení

- 2\leq N \leq 20
- 1\leq M \leq N(N-1)
- 1\leq U_i,V_i \leq N
- U_i \neq V_i
- (U_i,V_i) \neq (U_j,V_j) pro i\neq j
- -10^6\leq W_i \leq 10^6
- Daný graf neobsahuje záporné cykly.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 4
1 2 5
2 1 -3
2 3 -4
3 1 100

Ukázkový výstup 1

-2

Pořadím vrcholů 2\rightarrow 1\rightarrow 2\rightarrow 3 můžete navštívit všechny vrcholy alespoň jednou, a celková váha procházených hran je (-3)+5+(-4)=-2.
To je minimum.

Ukázkový vstup 2

3 2
1 2 0
2 1 0

Ukázkový výstup 2

No

Neexistuje procházka, která by navštívila všechny vrcholy alespoň jednou.

Ukázkový vstup 3

5 9
1 2 -246288
4 5 -222742
3 1 246288
3 4 947824
5 2 -178721
4 3 -947824
5 4 756570
2 5 707902
5 1 36781

Ukázkový výstup 3

-449429

Existuje vážený jednoduchý směrovaný graf s N vrcholy a M hranami.
Vrcholy jsou očíslovány 1 až N a i-tá hrana má váhu W_i a táhne se z vrcholu U_i do vrcholu V_i.
Váhy mohou být záporné, ale graf neobsahuje záporné cykly.
Určete, zda existuje procházka, která navštíví každý vrchol alespoň jednou. Pokud taková procházka existuje, najděte minimální celkovou hmotnost procházených hran.
Pokud je stejná hrana procházena vícekrát, váha této hrany se pro každý průchod sečte.
Zde „procházka, která navštíví každý vrchol alespoň jednou“ je posloupnost vrcholů v_1,v_2,\dots,v_k, která splňuje obě následující podmínky:

- Pro každé i (1\leq i\leq k-1) existuje hrana táhnoucí se z vrcholu v_i do vrcholu v_{i+1}.
- Pro každé j\ (1\leq j\leq N) existuje i (1\leq i\leq k) takové, že v_i=j.

Vstup

The input is given from Standard Input in the following format
N M
U_1 V_1 W_1
U_2 V_2 W_2
\vdots
U_M V_M W_M

Výstup

If there is a walk that visits each vertex at least once, print the minimum total weight of the edges traversed. Otherwise, print No.

Omezení

- 2\leq N \leq 20
- 1\leq M \leq N(N-1)
- 1\leq U_i,V_i \leq N
- U_i \neq V_i
- (U_i,V_i) \neq (U_j,V_j) pro i\neq j
-10^6\leq W_i \leq 10^6
- Daný graf neobsahuje záporné cykly.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázka vstupu 1

3 4
1 2 5
2 1 -3
2 3 -4
3 1 100

Ukázka výstupu 1

-2

Při sledování vrcholů v pořadí 2\rightarrow 1\rightarrow 2\rightarrow 3 lze navštívit všechny vrcholy alespoň jednou a celková hmotnost prošlých hran je (-3)+5+(-4)=-2.
To je minimum.

Ukázka vstupu 2

3 2
1 2 0
2 1 0

Vzorový výstup 2

No

Neexistuje procházka, která by alespoň jednou navštívila všechny vrcholy.

Vzorový vstup 3

5 9
1 2 -246288
4 5 -222742
3 1 246288
3 4 947824
5 2 -178721
4 3 -947824
5 4 756570
2 5 707902
5 1 36781

Výstupní vzorek 3

-449429

Existuje vážený jednoduchý orientovaný graf s N vrcholy a M hranami.
Vrcholy jsou očíslovány od 1 do N a i-tá hrana má váhu W_i a sahá od vrcholu U_i k V_i vrcholu.
Váhy mohou být záporné, ale graf neobsahuje záporné cykly.
Určete, zda existuje procházka, která navštíví každý vrchol alespoň jednou. Pokud taková procházka existuje, zjistěte minimální celkovou váha hran, kterými procházíte.
Pokud je stejná hrana procházena vícekrát, váha této hrany se přičte pro každé procházení.
Zde je "procházka, která navštíví každý vrchol alespoň jednou" posloupnost vrcholů v_1,v_2,\dots,v_k která splňuje obě následující podmínky:

- Pro každé i (1\leq i\leq k-1) existuje hrana sahající od vrcholu v_i k vrcholu v_{i+1}.
- Pro každé j (1\leq j\leq N) existuje i (1\leq i\leq k) takové, že v_i=j.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N M
U_1 V_1 W_1
U_2 V_2 W_2
\vdots
U_M V_M W_M

Výstup

Pokud existuje procházka, která navštíví každý vrchol alespoň jednou, vytiskne se minimální celková váha hran, kterými se prochází. V opačném případě tiskněte No.

Omezení

- 2\leq N \leq 20
- 1\leq M \leq N(N-1)
- 1\leq U_i,V_i \leq N
- U_i \neq V_i
- (U_i,V_i) \neq (U_j,V_j) pro i\neq j
- -10^6\leq W_i \leq 10^6
- Daný graf neobsahuje záporné cykly.
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

3 4
1 2 5
2 1 -3
2 3 -4
3 1 100

Ukázkový výstup 1

-2

Sledováním vrcholů v pořadí 2rightarrow 1rightarrow 2rightarrow 3 můžete navštívit všechny vrcholy alespoň jednou a celková váha projetých hran je (-3)+5+(-4)=-2.
To je minimum.

Vzorkovací vstup 2

3 2
1 2 0
2 1 0

Ukázkový výstup 2

No

Neexistuje žádná procházka, která by alespoň jednou navštívila všechny vrcholy.

Vzorkovací vstup 3

5 9
1 2 -246288
4 5 -222742
3 1 246288
3 4 947824
5 2 -178721
4 3 -947824
5 4 756570
2 5 707902
5 1 36781

Ukázkový výstup 3

-449429


Dostanete řetězec S skládající se z malých anglických písmen a znaku ..
Vytiskne poslední podřetězec, když je S rozděleno .s.
Jinými slovy, vytiskněte nejdelší příponu S, která neobsahuje ..

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
S

Výstup

Vytiskněte odpověď.

Omezení

- S je řetězec délky mezi 2 a 100 včetně, který se skládá z malých anglických písmen a ..
- S obsahuje alespoň jeden ..
- S nekončí na ..

Ukázkový vstup 1

atcoder.jp

Ukázkový výstup 1

jp

Nejdelší přípona atcoder.jp, která neobsahuje . je jp.

Ukázkový vstup 2

translate.google.com

Ukázkový výstup 2

com

S může obsahovat více .s.

Ukázkový vstup 3

.z

Ukázkový výstup 3

z

S může začít s ..

Ukázkový vstup 4

..........txt

Ukázkový výstup 4

txt

S může obsahovat po sobě jdoucí .s.

Je vám dán řetězec S skládající se z malých anglických písmen a znaku ..
Vytiskne poslední podřetězec, když je S rozděleno .s.
Jinými slovy, vytiskněte nejdelší příponu S, která neobsahuje ..

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
S

Výstup

Vytiskněte odpověď.

Omezení

- S je řetězec o délce od 2 do 100 včetně, skládající se z malých anglických písmen a ..
- S obsahuje alespoň jeden ..
- S nekončí na ..

Vzorový vstup 1

atcoder.jp

Ukázkový výstup 1

jp

Nejdelší přípona atcoder.jp, která neobsahuje příponu . je jp.

Vzorkovací vstup 2

translate.google.com

Ukázkový výstup 2

com

S může obsahovat více .s.

Vzorkovací vstup 3

.z

Ukázkový výstup 3

z

S může začínat ..

Vzorkovací vstup 4

.......... txt

Ukázkový výstup 4

txt

S může obsahovat po sobě jdoucí .s.

Je dán řetězec S skládající se z malých anglických písmen a znaku ..
Vytiskněte poslední podsekvenci, když je S rozdělen podle ..
Jinými slovy, vytiskněte nejdelší sufix S, který neobsahuje ..

Vstup

Vstup je zadán ze Standardního Vstupu v následujícím formátu:
S

Výstup

Vytiskněte odpověď.

Omezení

- S je řetězec délky mezi 2 a 100 včetně, skládající se z malých anglických písmen a teček.
- S obsahuje alespoň jednu tečku.
- S nekončí tečkou.

Ukázkový vstup 1

atcoder.jp

Ukázkový výstup 1

jp

Nejdelší sufix atcoder.jp, který neobsahuje ., je jp.

Ukázkový vstup 2

translate.google.com

Ukázkový výstup 2

com

S může obsahovat více teček.

Ukázkový vstup 3

 tečka z ".z"

Ukázkový výstup 3

z

S může začínat tečkou.

Ukázkový vstup 4

..........txt

Ukázkový výstup 4

txt

S může obsahovat po sobě jdoucí tečky.


Na mřížce je H řádků a W sloupců; zpočátku jsou všechny buňky bílé. Označme (i, j) buňku v i-tém řádku shora a j-tém sloupci zleva.
Tato mřížka se považuje za toroidní. To znamená, že (i, 1) je napravo od (i, W) pro každý 1 \leq i \leq H a (1, j) je pod (H, j) pro každý 1 \leq j \leq W.
Takahashi je na pozici (1, 1) a směřuje nahoru. Vypište barvu každé buňky v mřížce poté, co Takahashi zopakuje následující operaci N-krát.

- Pokud je aktuální buňka bílá, přemalujte ji černě, otočte se o 90^\circ ve směru hodinových ručiček, a posuňte se o jednu buňku ve směru, kterým je otočen. Jinak přemalujte aktuální buňku bílou, otočte se o 90^\circ proti směru hodinových ručiček, a posuňte se o jednu buňku ve směru, kterým je otočen.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
H W N

Výstup

Vypište H řádků. i-tý řádek by měl obsahovat řetězec délky W, kde j-tý znak je ., pokud je buňka (i, j) bílá, a # pokud je černá.

Omezení

- 1 \leq H, W \leq 100
- 1 \leq N \leq 1000
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 4 5

Ukázkový výstup 1

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

Buňky v mřížce se mění následovně díky operacím:
....   #...   ##..   ##..   ##..   .#..
.... → .... → .... → .#.. → ##.. → ##..
....   ....   ....   ....   ....   ....

Ukázkový vstup 2

2 2 1000

Ukázkový výstup 2

..
..

Ukázkový vstup 3

10 10 10

Ukázkový výstup 3

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

Mřížka má řádky H a sloupce W; zpočátku jsou všechna políčka vybarvena bíle. Nechť (i, j) označuje buňku v i-tém řádku shora a j-tém sloupci zleva.
Tuto mřížku považujeme za toroidní. To znamená, že (i, 1) je napravo od (i, W) pro každé 1 \leq i \leq H a (1, j) je pod (H, j) pro každé 1 \leq j \leq W.
Takahashi leží na (1, 1) a směřuje vzhůru. Vypište barvu každého políčka v mřížce poté, co Takahashi Nkrát zopakuje následující operaci.

- Pokud je aktuální buňka vybarvena bíle, přebarvěte ji na černo, otočte ji o 90^\circ ve směru hodinových ručiček a posuňte ji o jednu buňku dopředu ve směru, kterým stojí. V opačném případě překreslí aktuální buňku bílou barvou, otočí ji o 90^\circ proti směru hodinových ručiček a posune se o jednu buňku dopředu ve směru, kterým je otočen.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
H W N

Výstup

Vypište řádky H. Na i-tém řádku by měl být řetězec délky W, kde j-tý znak je ., pokud je buňka (i, j) vybarvena bíle, a #, pokud je vybarvena černě.

Omezení

- 1 \leq H, W \leq 100
- 1 \leq N \leq 1000
- Všechny vstupní hodnoty jsou celá čísla.

Ukázka Vstup 1

3 4 5

Ukázkový výstup 1

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

Buňky mřížky se v důsledku operací změní následovně:
....   #...   ##..   ##..   ##.. .#..
.... → .... → .... → .#.. → ##.. → ##..
....   .... .... .... .... ....

Vzorový vstup 2

2 2 1000

Ukázkový výstup 2

..
..

Vzorový vstup 3

10 10 10

Vzorový výstup 3

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

Mřížka má řádky H a sloupce W; zpočátku jsou všechna políčka vybarvena bíle. Nechť (i, j) označuje buňku v i-tém řádku shora a j-tém sloupci zleva.
Tuto mřížku považujeme za toroidní. To znamená, že (i, 1) je napravo od (i, W) pro každé 1 \leq i \leq H a (1, j) je pod (H, j) pro každé 1 \leq j \leq W.
Takahashi leží na (1, 1) a směřuje vzhůru. Vypište barvu každého políčka v mřížce poté, co Takahashi Nkrát zopakuje následující operaci.

- Pokud je aktuální buňka vybarvena bíle, přebarvěte ji na černo, otočte ji o 90^\circ ve směru hodinových ručiček a posuňte ji o jednu buňku dopředu ve směru, kterým stojí. V opačném případě překreslí aktuální buňku bílou barvou, otočí ji o 90^\circ proti směru hodinových ručiček a posune se o jednu buňku dopředu ve směru, kterým je otočen.

Vstup

The input is given from Standard Input in the following format:
H W N

Výstup

Print H lines. The i-th line should contain a string of length W where the j-th character is . if the cell (i, j) is painted white, and # if it is painted black.

Omezení

- 1 \leq H, W \leq 100
- 1 \leq N \leq 1000
- Všechny vstupní hodnoty jsou celá čísla.

Ukázka Vstup 1

3 4 5

Ukázkový výstup 1

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

Buňky mřížky se v důsledku operací změní následovně:
....   #...   ##..   ##..   ##.. .#..
.... → .... → .... → .#.. → ##.. → ##..
....   .... .... .... .... ....

Vzorový vstup 2

2 2 1000

Ukázkový výstup 2

..
..

Vzorový vstup 3

10 10 10

Vzorový výstup 3

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