Na začátku máte prázdný řetězec S.
Dále jsou k dispozici pytle 1, 2, \dots, N, z nichž každý obsahuje nějaký řetězec.
Sáček i obsahuje řetězce A_i S_{i,1}, S_{i,2}, \dots, S_{i,A_i}.
Následující kroky zopakujte pro i = 1, 2, \dots, N:

- Zvolte a proveďte jednu z následujících dvou akcí:
- Zaplaťte 1 jen, vyberte přesně jeden řetězec z pytle i a připojte jej na konec S.
- Nedělejte nic.

Je dán řetězec T, najděte minimální částku potřebnou k tomu, aby se konečný S rovnal T.
Pokud neexistuje způsob, jak dosáhnout toho, aby se výsledné S rovnalo T, vypište -1.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
T
N
A_1 S_{1,1} S_{1,2} \dots S_{1,A_1}
A_2 S_{2,1} S_{2,2} \dots S_{2,A_2}
\vdots
A_N S_{N,1} S_{N,2} \dots S_{N,A_N}

Výstup

Vypište odpověď jako celé číslo.

Omezení

- T je řetězec složený z malých anglických písmen o délce mezi 1 a 100 včetně.
- N je celé číslo o délce od 1 do 100 včetně.
- A_i je celé číslo mezi 1 a 10 včetně.
- S_{i,j} je řetězec složený z malých anglických písmen o délce mezi 1 a 10 včetně.

Vzorový vstup 1

abcde
3
3 ab abc abcd
4 f c cd bcde
2 e de

Vzorový výstup 1

2

Například při následujícím postupu se výsledné S rovná T se dvěma jeny, což lze ukázat jako minimální požadovanou částku.

- Pro i=1 vyberte abc z pytle 1 a připojte jej na konec S, čímž vznikne S= abc.
- Pro i=2 nedělejte nic.
- Pro i=3 vyberte de z pytle 3 a připojte jej na konec S, takže S= abcde.

Ukázka vstupu 2

abcde
3
2 ab abc
3 f c bcde
1 e

Vzorový výstup 2

-1

Neexistuje žádný způsob, jak zajistit, aby se výsledné S rovnalo T, proto vypište -1.

Vzorový vstup 3

aaabbbbcccc
6
2 aa aaa
2 dd ddd
2 ab aabb
4 bbaa bbbc bbb bbcc
2 cc bcc
3 ccc cccc ccccc

Vzorový výstup 3

4

Translated with DeepL.com (free version)

Na počátku máte prázdný řetězec S.
Navíc jsou k dispozici pytle 1, 2, \dots, N, z nichž každý obsahuje nějaké řetězce.
Pytel i obsahuje A_i řetězců S_{i,1}, S_{i,2}, \dots, S_{i,A_i}.
Budete opakovat následující kroky pro i = 1, 2, \dots, N:

- Vyberte a proveďte jednu z následujících dvou akcí:
- Zaplaťte 1 yen, vyberte přesně jeden řetězec z pytle i a připojte ho na konec S.
- Nedělejte nic.

Dán je řetězec T, zjistěte minimální množství peněz potřebné k tomu, aby bylo výsledné S rovno T.
Pokud neexistuje způsob, jak udělat výsledné S rovné T, vytiskněte -1.

Vstup

Vstup je zadán z Standard Input v následujícím formátu:
T
N
A_1 S_{1,1} S_{1,2} \dots S_{1,A_1}
A_2 S_{2,1} S_{2,2} \dots S_{2,A_2}
\vdots
A_N S_{N,1} S_{N,2} \dots S_{N,A_N}

Výstup

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

Omezení

- T je řetězec sestávající z malých anglických písmen s délkou mezi 1 a 100 včetně.
- N je celé číslo mezi 1 a 100 včetně.
- A_i je celé číslo mezi 1 a 10 včetně.
- S_{i,j} je řetězec sestávající z malých anglických písmen s délkou mezi 1 a 10 včetně.

Ukázkový vstup 1

abcde
3
3 ab abc abcd
4 f c cd bcde
2 e de

Ukázkový výstup 1

2

Například, následujícím způsobem dosáhnete, že výsledné S bude rovno T s dvěma yeny, což lze ukázat jako minimální potřebnou částku.

- Pro i=1 vyberte abc z pytle 1 a připojte ho na konec S, čímž se stane S= abc.
- Pro i=2 nedělejte nic.
- Pro i=3 vyberte de z pytle 3 a připojte ho na konec S, čímž se stane S= abcde.

Ukázkový vstup 2

abcde
3
2 ab abc
3 f c bcde
1 e

Ukázkový výstup 2

-1

Není žádný způsob, jak udělat výsledné S rovné T, takže vytiskněte -1.

Ukázkový vstup 3

aaabbbbcccc
6
2 aa aaa
2 dd ddd
2 ab aabb
4 bbaa bbbc bbb bbcc
2 cc bcc
3 ccc cccc ccccc

Ukázkový výstup 3

4

Na začátku máte prázdný řetězec S.
Navíc existují sáčky 1, 2, \dots, N, z nichž každý obsahuje nějaké řetězce.
Bag i obsahuje A_i řetězce S_{i,1}, S_{i,2}, \dots, S_{i,A_i}.
Následující kroky zopakujete pro i = 1, 2, \dots, N:

- Vyberte a proveďte jednu z následujících dvou akcí:
- Zaplaťte 1 jen, vyberte přesně jeden řetězec ze sáčku i a spojte jej na konec S.
- Nic nedělej.

Vzhledem k řetězci T najděte minimální částku peněz potřebnou k tomu, aby se konečné S rovnalo T.
Pokud neexistuje způsob, jak dosáhnout toho, aby se konečné S rovnalo T, vytiskněte -1.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
T
N
A_1 S_{1,1} S_{1,2} \tečky S_{1,A_1}
A_2 S_{2,1} S_{2,2} \tečky S_{2,A_2}
\vtečky
A_N S_{N,1} S_{N,2} \tečky S_{N,A_N}

Výstup

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

Omezení

- T je řetězec složený z malých anglických písmen o délce mezi 1 a 100 včetně.
- N je celé číslo od 1 do 100 včetně.
- A_i je celé číslo od 1 do 10 včetně.
- S_{i,j} je řetězec skládající se z malých anglických písmen o délce mezi 1 a 10 včetně.

Ukázkový vstup 1

abcde
3
3 ab abc abcd
4 f c cd bcde
2 e de

Ukázkový výstup 1

2

Například následujícím způsobem se konečné S rovná T se dvěma jeny, což může být minimální požadovaná částka.

- Pro i=1 vyberte abc ze sáčku 1 a spojte jej na konec S, čímž S= abc.
- Pro i=2 nedělejte nic.
- Pro i=3 vyberte de ze sáčku 3 a spojte jej na konec S, takže S= abcde.

Ukázkový vstup 2

abcde
3
2 ab abc
3 f c bcde
1 e

Ukázkový výstup 2

-1

Neexistuje způsob, jak dosáhnout toho, aby se konečné S rovnalo T, takže vytiskněte -1.

Ukázkový vstup 3

aaabbbbcccc
6
2 aa aaa
2 dd ddd
2 ab aabb
4 bbaa bbbc bbb bbcc
2 cc bcc
3 ccc cccc ccccc

Ukázkový výstup 3

4


Je dán řetězec S sestávající z malých písmen anglické abecedy a |. Je zaručeno, že S obsahuje přesně dvě |.
Odstraňte znaky mezi dvěma |, včetně samotných |, a vytiskněte výsledný řetězec.

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 písmen anglické abecedy a |.
- S obsahuje přesně dvě |.

Ukázkový vstup 1

atcoder|beginner|contest

Ukázkový výstup 1

atcodercontest

Odstraňte všechny znaky mezi dvěma | a vytiskněte výsledek.

Ukázkový vstup 2

|spoiler|

Ukázkový výstup 2

Je možné, že budou odstraněny všechny znaky.

Ukázkový vstup 3

||xyz

Ukázkový výstup 3

xyz

Dostanete řetězec S skládající se z malých anglických písmen a |. S zaručeně obsahuje přesně dvě |s.
Odstraňte znaky mezi dvěma |, včetně |s samotných, a vytiskněte výsledný řetězec.

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 právě dvě |s.

Ukázkový vstup 1

atcoder|začátečník|soutěž

Ukázkový výstup 1

atcodercontest

Odstraňte všechny znaky mezi dvěma |s a vytiskněte výsledek.

Ukázkový vstup 2

|spoiler|

Ukázkový výstup 2

Je možné, že všechny postavy budou odstraněny.

Ukázkový vstup 3

||xyz

Ukázkový výstup 3

xyz

Dostanete řetězec S skládající se z malých anglických písmen a |. Je zaručeno, že S bude obsahovat přesně dvě |s.
Odstraňte znaky mezi dvěma |s, včetně samotných |s, a vytiskněte výsledný řetězec.

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 přesně dvě |s.

Vzorový vstup 1

atcoder|beginner|contest

Ukázkový výstup 1

atcodercontest

Odstraňte všechny znaky mezi dvěma |s a vytiskněte výsledek.

Vzorkovací vstup 2

|spoiler|

Ukázkový výstup 2

Je možné, že budou odebrány všechny znaky.

Vzorkovací vstup 3

||xyz

Ukázkový výstup 3

xyz


Here's a calibrated Czech translation of the provided text. I have adhered to your instructions and left all LaTeX code, programming language syntax, and variable names unchanged:

---

Máte k dispozici tři posloupnosti ( A=(A_1,\ldots,A_N) \), ( B=(B_1,\ldots,B_M) ) a  C=(C_1,\ldots,C_L) \).
Dále je dána posloupnost ( X=(X_1,\ldots,X_Q) \). Pro každé ( i=1,\ldots,Q \) vyřešte následující problém:
 Problém: Je možné vybrat jeden prvek z každé z posloupností \( A \), \( B \) a \( C \), aby jejich součet byl \( X_i )?

 Vstup

Vstup je zadán ve formátu ze standardního vstupu:
[
N
A_1 \ldots A_N
M \\
B_1 \ldots B_M
L \\
C_1 \ldots C_L
Q \\
X_1 \ldots X_Q
\]

 Výstup

Vytiskněte \( Q \) řádků.
Na \( i \)-tém řádku vytiskněte "Yes", pokud je možné vybrat jeden prvek z každé z ( A ), ( B ) a ( C ), aby jejich součet byl \( X_i \). Jinak vytiskněte "No".

 Omezení

- \( 1 \leq N,M,L \leq 100 \)
- \( 0 \leq A_i, B_i ,C_i \leq 10^8 \)
- \( 1 \leq Q \leq 2\times 10^5 \)
- \( 0 \leq X_i \leq 3\times 10^8 \)
- Všechny vstupní hodnoty jsou celá čísla.

 Vzorový vstup 1

3
1 2 3
2
2 4
6
1 2 4 8 16 32
4
1 5 10 50
```

 Vzorový výstup 1

No
Yes
Yes
No

Vysvětlení:
- Není možné vybrat jeden prvek z každé z \( A \), \( B \) a \( C \), aby jejich součet byl 1.
- Výběrem \( 1 \), \( 2 \) a \( 2 \) z \( A \), \( B \) a \( C \) lze vytvořit součet 5.
- Výběrem \( 2 \), \( 4 \) a \( 4 \) z \( A \), \( B \) a \( C \) lze vytvořit součet 10.
- Není možné vybrat jeden prvek z každé z \( A \), \( B \) a \( C \), aby jejich součet byl 50.

Mámt dány tři posloupnosti A=(A_1,\ldots,A_N), B=(B_1,\ldots,B_M) a C=(C_1,\ldots,C_L).
Navíc je dána posloupnost X=(X_1,\ldots,X_Q). Pro každé i=1,\ldots,Q, vyřešte následující problém:
Problém: Je možné vybrat jeden prvek z každé z A, B a C tak, aby jejich součet byl X_i?

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N
A_1 \ldots A_N
M
B_1 \ldots B_M
L
C_1 \ldots C_L
Q
X_1 \ldots X_Q

Výstup

Vytiskněte Q řádků.
i-tý řádek by měl obsahovat Yes, pokud je možné vybrat jeden prvek z každé z A, B a C tak, aby jejich součet byl X_i, a No v opačném případě.

Omezení

- 1 \leq N,M,L \leq 100
- 0 \leq A_i, B_i ,C_i \leq 10^8
- 1 \leq Q \leq 2\times 10^5
- 0 \leq X_i \leq 3\times 10^8
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3
1 2 3
2
2 4
6
1 2 4 8 16 32
4
1 5 10 50

Ukázkový výstup 1

No
Yes
Yes
No

- Není možné vybrat jeden prvek z každé z A, B a C tak, aby jejich součet byl 1.
- Výběrem 1, 2 a 2 z A, B a C, bude součet 5.
- Výběrem 2, 4 a 4 z A, B a C, bude součet 10.
- Není možné vybrat jeden prvek z každé z A, B a C tak, aby jejich součet byl 50.

Jsou vám dány tři sekvence A=(A_1,\ldots,A_N), B=(B_1,\ldots,B_M) a C=(C_1,\ldots,C_L).
Navíc je dána sekvence X=(X_1,\ldots,X_Q). Pro každé i=1,\ldots,Q vyřešte následující problém:
Problém: Je možné vybrat jeden prvek z každého z A, B a C tak, aby jejich součet byl X_i?

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
A_1 \ldots A_N
M
B_1 \ldots B_M
L
C_1 \ldots C_L
Q
X_1 \ldots X_Q

Výstup

Vytiskněte Q řádky.
I-tý řádek by měl obsahovat Ano, pokud je možné vybrat jeden prvek z každého z A, B a C tak, aby jejich součet byl X_i a jinak Ne.

Omezení

- 1 \leq N,M,L \leq 100
- 0 \leq A_i, B_i ,C_i \leq 10^8
- 1 \leq Q \leq 2\times 10^5
- 0 \leq X_i \leq 3\times 10^8
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3
1 2 3
2
2 4
6
1 2 4 8 16 32
4
1 5 10 50

Ukázkový výstup 1

No
Yes
Yes
No

- Není možné vybrat jeden prvek z každého z A, B a C tak, aby jejich součet byl 1.
- Výběrem 1, 2 a 2 z A, B a C v tomto pořadí bude součet 5.
- Výběrem 2, 4 a 4 z A, B a C v tomto pořadí bude součet 10.
- Není možné vybrat jeden prvek z každého z A, B a C tak, aby jejich součet byl 50.


Je dáno N celých čísel A_1,A_2,\dots,A_N, po jednom na každém řádku, na N řádcích. N však není na vstupu uvedeno.
Dále je zaručeno následující:

- A_i \neq 0 ( 1 \le i \le N-1 )
- A_N = 0

Vypište A_N, A_{N-1},\dots,A_1 v tomto pořadí.

Vstup

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

Výstup

Vypište A_N, A_{N-1}, \dots, A_1 v tomto pořadí jako celá čísla oddělená novými řádky.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 100
- 1 \le A_i \le 10^9 ( 1 \le i \le N-1 )
- A_N = 0

Vzorový vstup 1

3
2
1
0

Vzorový výstup 1

0
1
2
3

Opět si všimněte, že na vstupu není zadáno N.
Zde je N=4 a A=(3,2,1,0).

Vzorový vstup 2

0

Vzorový výstup 2

0

A=(0).

Vzorový vstup 3

123
456
789
987
654
321
0

Ukázka výstupu 3

0
321
654
987
789
456
123

Dostanete N celých čísel A_1,A_2,\tečky,A_N, jedno na řádek, přes N řádků. N však v zadání není uvedeno.
Kromě toho je zaručeno následující:

- A_i \neq 0 ( 1 \le i \le N-1 )
- A_N = 0

Vytiskněte A_N, A_{N-1},\tečky,A_1 v tomto pořadí.

Vstup

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

Výstup

Vytiskněte A_N, A_{N-1}, \dots, A_1 v tomto pořadí jako celá čísla oddělená novými řádky.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 100
- 1 \le A_i \le 10^9 ( 1 \le i \le N-1 )
- A_N = 0

Ukázkový vstup 1

3
2
1
0

Ukázkový výstup 1

0
1
2
3

Všimněte si znovu, že N není uvedeno ve vstupu.
Zde N=4 a A=(3,2,1,0).

Ukázkový vstup 2

0

Ukázkový výstup 2

0

A=(0).

Ukázkový vstup 3

123
456
789
987
654
321
0

Ukázkový výstup 3

0
321
654
987
789
456
123

Dostanete N celých čísel A_1, A_2,\dots,A_N, jedno na řádek, na N řádcích. N však v zadání není uvedeno.
Kromě toho je zaručeno následující:

- A_i \neq 0 ( 1 \le i \le N-1 )
- A_N = 0

Vytiskněte A_N, A_{N-1},\vdots,A_1 v tomto pořadí.

Vstup

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

Výstup

Vytiskněte A_N, A_{N-1}, \dots, A_1 v tomto pořadí, jako celá čísla, oddělená novými řádky.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 100
- 1 \le A_i \le 10^9 ( 1 \le i \le N-1 )
- A_N = 0

Ukázkový vstup 1

3
2
1
0

Ukázkový výstup 1

0
1
2
3

Všimněte si znovu, že N není uvedeno ve vstupu.
Zde N=4 a A=(3,2,1,0).

Ukázkový vstup 2

0

Ukázkový výstup 2

0

A=(0).

Ukázkový vstup 3

123
456
789
987
654
321
0

Ukázkový výstup 3

0
321
654
987
789
456
123


Je vám dána posloupnost A=(A_1,\ldots,A_N) délky N. Prvky A jsou odlišné.
Zpracujte Q dotazy v pořadí, v jakém jsou zadány. Každý dotaz je jednoho z následujících dvou typů:

- 1 x y : Vložte y bezprostředně za prvek x v A. Je zaručeno, že x existuje v A, když je zadán tento dotaz.
- 2 x : Odeberte prvek x z A. Je zaručeno, že x existuje v A, když je zadán tento dotaz.

Je zaručeno, že po zpracování každého dotazu nebude A prázdné a jeho prvky budou odlišné.
Vytiskněte A po zpracování všech dotazů.

Vstup

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

Zde \mathrm{Query}_i představuje i-tý dotaz a je zadán v jednom z následujících formátů:
1 x r

2 x

Výstup

Nechť A=(A_1,\ldots,A_K) je sekvence po zpracování všech dotazů. Vytiskněte A_1,\ldots,A_K v tomto pořadí, oddělené mezerami.

Omezení

- 1 \leq N \leq 2 \times 10^5
- 1 \leq Q \leq 2 \times 10^5
- 1 \leq A_i \leq 10^9
- A_i \neq A_j
- Pro dotazy prvního typu 1 \leq x,y \leq 10^9.
- Když je zadán dotaz prvního typu, v A existuje x.
- Pro dotazy druhého typu 1 \leq x \leq 10^9.
- Když je zadán dotaz druhého typu, v A existuje x.
- Po zpracování každého dotazu není A prázdné a jeho prvky jsou odlišné.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

4 5 1 3

Dotazy se zpracovávají následovně:

- Zpočátku A=(2,1,4,3).
- První dotaz odstraní 1, takže A=(2,4,3).
- Druhý dotaz vloží 5 hned za 4, takže A=(2,4,5,3).
- Třetí dotaz odstraní 2, takže A=(4,5,3).
- Čtvrtý dotaz vloží 1 hned za 5, takže A=(4,5,1,3).

Ukázkový vstup 2

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

Ukázkový výstup 2

5 1 7 2 3

Máte dáno posloupnost A=(A_1,\ldots,A_N) délky N. Prvky A jsou různé.
Zpracujte Q dotazů v pořadí, v jakém jsou dány. Každý dotaz je jednoho z následujících dvou typů:

- 1 x y : Vložte y ihned za prvek x v A. Je zaručeno, že x existuje v A, když je tento dotaz zadán.
- 2 x : Odstraňte prvek x z A. Je zaručeno, že x existuje v A, když je tento dotaz zadán.

Je zaručeno, že po zpracování každého dotazu A nebude prázdné a jeho prvky budou různé.
Vytiskněte A po zpracování všech dotazů.

Vstup

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

Zde \mathrm{Query}_i představuje i-tý dotaz a je dán v jednom z následujících formátů:
1 x y

2 x

Výstup

Nechť A=(A_1,\ldots,A_K) je posloupnost po zpracování všech dotazů. Vytiskněte A_1,\ldots,A_K v tomto pořadí, oddělené mezerami.

Omezení

- 1 \leq N \leq 2\times 10^5
- 1 \leq Q \leq 2\times 10^5
- 1 \leq A_i \leq 10^9
- A_i \neq A_j
- Pro dotazy prvního typu, 1 \leq x,y \leq 10^9.
- Když je dán dotaz prvního typu, x existuje v A.
- Pro dotazy druhého typu, 1 \leq x \leq 10^9.
- Když je dán dotaz druhého typu, x existuje v A.
- Po zpracování každého dotazu A není prázdné a jeho prvky jsou různé.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

4 5 1 3

Dotazy jsou zpracovány následujícím způsobem:

- Na začátku, A=(2,1,4,3).
- První dotaz odstraní 1, čímž vznikne A=(2,4,3).
- Druhý dotaz vloží 5 hned po 4, čímž vznikne A=(2,4,5,3).
- Třetí dotaz odstraní 2, čímž vznikne A=(4,5,3).
- Čtvrtý dotaz vloží 1 hned po 5, čímž vznikne A=(4,5,1,3).

Ukázkový vstup 2

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

Ukázkový výstup 2

5 1 7 2 3

Je dána posloupnost A=(A_1,\ldots,A_N) délky N. Prvky posloupnosti A jsou různé.
Zpracujte dotazy Q v pořadí, v jakém jsou zadány. Každý dotaz je jednoho z následujících dvou typů:

- 1 x y : Vložte y bezprostředně za prvek x v A. Je zaručeno, že x existuje v A, když je zadán tento dotaz.
- 2 x : Odstranění prvku x z A. Je zaručeno, že při zadání tohoto dotazu prvek x v A existuje.

Je zaručeno, že po zpracování každého dotazu nebude A prázdný a jeho prvky budou odlišné.
Po zpracování všech dotazů vypište A.

Vstup

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

Zde \mathrm{Query}_i představuje i-tý dotaz a je zadán v jednom z následujících formátů:
1 x y

2 x

Výstup

Nechť A=(A_1,\ldots,A_K) je posloupnost po zpracování všech dotazů. Vypište A_1,\ldots,A_K v tomto pořadí oddělené mezerami.

Omezení

- 1 \leq N \leq 2\krát 10^5
- 1 \leq Q \leq 2\krát 10^5
- 1 \leq A_i \leq 10^9
- A_i \neq A_j
- Pro dotazy prvního typu platí 1 \leq x,y \leq 10^9.
- Je-li zadán dotaz prvního typu, x existuje v A.
- Pro dotazy druhého typu platí 1 \leq x \leq 10^9.
- Když je zadán dotaz druhého typu, x existuje v A.
- Po zpracování každého dotazu není A prázdný a jeho prvky jsou různé.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázka vstupu 1

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

Ukázka výstupu 1

4 5 1 3

Dotazy se zpracovávají následujícím způsobem:

- Zpočátku A=(2,1,4,3).
- První dotaz odstraní 1, takže A=(2,4,3).
- Druhý dotaz vloží 5 hned za 4, takže A=(2,4,5,3).
- Třetí dotaz odstraní 2, takže A=(4,5,3).
- Čtvrtý dotaz vloží 1 hned za 5, takže A=(4,5,1,3).

Vzorový vstup 2

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

Ukázka výstupu 2

5 1 7 2 3


Existuje mřížka s H řadami a W sloupci, kde každá buňka má délku strany 1, a máme N dlaždic. i-tá dlaždice (1\leq i\leq N) je obdélník o velikosti A_i\times B_i. Určete, zda je možné umístit dlaždice na mřížku tak, aby byly splněny všechny následující podmínky:

- Každá buňka je pokryta přesně jednou dlaždicí.
- Nevyužité dlaždice jsou v pořádku.
- Dlaždice mohou být otočené nebo převrácené při umístění. Každá dlaždice musí být sladěná s okraji buněk bez překročení hranic mřížky.

Vstup

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

Výstup

Pokud je možné umístit dlaždice na mřížku tak, aby byly splněny všechny podmínky v zadání úlohy, vytiskněte Yes; jinak vytiskněte No.

Omezení

- 1\leq N\leq 7
- 1 \leq H,W \leq 10
- 1\leq A_i,B_i\leq 10
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

Yes

Umístění 2., 4. a 5. dlaždice, jak je znázorněno níže, pokrývá každou buňku mřížky přesně jednou dlaždicí.

Proto vytiskněte Yes.

Ukázkový vstup 2

1 1 2
2 3

Ukázkový výstup 2

No

Není možné umístit dlaždici bez toho, aby přesahovala mřížku.

Proto vytiskněte No.

Ukázkový vstup 3

1 2 2
1 1

Ukázkový výstup 3

No

Není možné pokrýt všechny buňky dlaždicí.

Proto vytiskněte No.

Ukázkový vstup 4

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

Ukázkový výstup 4

No

Každá buňka musí být pokryta přesně jednou dlaždicí.

Máme mřížku o H řádcích a W sloupcích, každé políčko má délku strany 1 a máme N políček.
I-tá dlaždice (1\leq i\leq N) je obdélník o velikosti A_i\krát B_i.
Určete, zda je možné umístit dlaždice na mřížku tak, aby byly splněny všechny následující podmínky:

- Každé políčko je pokryto přesně jednou dlaždicí.
- Je v pořádku, když jsou dlaždice nevyužité.
- Dlaždice mohou být při umísťování otočeny nebo převráceny. Každá dlaždice však musí být zarovnána s okraji buněk, aniž by přesahovala mimo mřížku.

Vstup

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

Výstup

Pokud je možné umístit dlaždice na mřížku tak, aby byly splněny všechny podmínky zadání problému, vypište Ano; v opačném případě vypište Ne.

Omezení

- 1\leq N\leq 7
- 1 \leq H,W \leq 10
- 1\leq A_i,B_i\leq 10
- Všechny vstupní hodnoty jsou celá čísla.

Příklad Vstup 1

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

Ukázka výstupu 1

Yes

Umístění 2., 4. a 5. dlaždice, jak je znázorněno níže, pokryje každou buňku mřížky přesně jednou dlaždicí.

Proto vypište Yes.

Vzorový vstup 2

1 1 2
2 3

Ukázkový výstup 2

No

Dlaždici nelze umístit, aniž by přesahovala mimo mřížku.
Proto vypište Ne.

Vzorový vstup 3

1 2 2
1 1

Ukázkový výstup 3

No

Není možné pokrýt dlaždicí všechna políčka.
Proto vypište No.

Vzorový vstup 4

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

Ukázka výstupu 4

No

Všimněte si, že každá buňka musí být pokryta přesně jednou dlaždicí.

Máme mřížku o H řádcích a W sloupcích, každé políčko má délku strany 1 a máme N políček.
I-tá dlaždice (1\leq i\leq N) je obdélník o velikosti A_i\krát B_i.
Určete, zda je možné umístit dlaždice na mřížku tak, aby byly splněny všechny následující podmínky:

- Každé políčko je pokryto přesně jednou dlaždicí.
- Je v pořádku, když jsou dlaždice nevyužité.
- Dlaždice mohou být při umísťování otočeny nebo převráceny. Každá dlaždice však musí být zarovnána s okraji buněk, aniž by přesahovala mimo mřížku.

Vstup

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

Výstup

Pokud je možné umístit dlaždice na mřížku tak, aby byly splněny všechny podmínky zadání problému, vypište Ano; v opačném případě vypište No.

Omezení

- 1\leq N\leq 7
- 1 \leq H,W \leq 10
- 1\leq A_i,B_i\leq 10
- Všechny vstupní hodnoty jsou celá čísla.

Příklad Vstup 1

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

Ukázka výstupu 1

Yes

Umístění 2., 4. a 5. dlaždice, jak je znázorněno níže, pokryje každou buňku mřížky přesně jednou dlaždicí.

Proto vypište Yes.

Vzorový vstup 2

1 1 2
2 3

Ukázkový výstup 2

No

Dlaždici nelze umístit, aniž by přesahovala mimo mřížku.
Proto vypište No.

Vzorový vstup 3

1 2 2
1 1

Ukázkový výstup 3

No

Není možné pokrýt dlaždicí všechna políčka.
Proto vypište No.

Vzorový vstup 4

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

Ukázka výstupu 4

No

Všimněte si, že každá buňka musí být pokryta přesně jednou dlaždicí.


Je dáno celé číslo X v rozmezí od -10^{18} do 10^{18}, včetně. Vytiskněte \left\lceil \dfrac{X}{10} \right\rceil.
Zde \left\lceil a \right\rceil označuje nejmenší celé číslo, které není menší než a.

Vstup

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

Výstup

Vytiskněte \left\lceil \dfrac{X}{10} \right\rceil jako celé číslo.

Omezení

- -10^{18} \leq X \leq 10^{18}
- X je celé číslo.

Ukázkový vstup 1

27

Ukázkový výstup 1

3

Celá čísla, která nejsou menší než \frac{27}{10} = 2.7, jsou 3, 4, 5, \dots. Mezi těmito je nejmenší 3, takže \left \lceil \frac{27}{10} \right \rceil = 3.

Ukázkový vstup 2

-13

Ukázkový výstup 2

-1

Celá čísla, která nejsou menší než \frac{-13}{10} = -1.3, jsou všechna kladná celá čísla, 0, a -1. Mezi těmito je nejmenší -1, takže \left \lceil \frac{-13}{10} \right \rceil = -1.

Ukázkový vstup 3

40

Ukázkový výstup 3

4

Nejmenší celé číslo, které není menší než \frac{40}{10} = 4, je samotné 4.

Ukázkový vstup 4

-20

Ukázkový výstup 4

-2

Ukázkový vstup 5

123456789123456789

Ukázkový výstup 5

12345678912345679

Zadané celé číslo X mezi -10^{18} a 10^{18} včetně vytiskněte \left\lceil \dfrac{X}{10} \right\rceil.
Zde \left\lceil a \right\rceil označuje nejmenší celé číslo, které není menší než a.

Vstup

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

Výstup

Tisk \left\lceil \dfrac{X}{10} \right\rceil jako celé číslo.

Omezení

- -10^{18} \leq X \leq 10^{18}
- X je celé číslo.

Ukázkový vstup 1

27

Ukázkový výstup 1

3

Celá čísla ne menší než \frac{27}{10} = 2,7 jsou 3, 4, 5, \tečky. Nejmenší z nich je 3, takže \left \lceil \frac{27}{10} \right \rceil = 3.

Ukázkový vstup 2

-13

Ukázkový výstup 2

-1

Celá čísla ne menší než \frac{-13}{10} = -1,3 jsou všechna kladná celá čísla, 0 a -1. Mezi nimi je nejmenší -1, takže \left \lceil \frac{-13}{10} \right \rceil = -1.

Ukázkový vstup 3

40

Ukázkový výstup 3

4

Nejmenší celé číslo ne menší než \frac{40}{10} = 4 je samotné 4.

Ukázkový vstup 4

-20

Ukázkový výstup 4

-2

Ukázkový vstup 5

123456789123456789

Ukázkový výstup 5

12345678912345679

Při zadání celého čísla X mezi -10^{18} a 10^{18} včetně vypište \left\lceil \dfrac{X}{10}. \right\rceil.
Zde \left\lceil a \right\rceil označuje nejmenší celé číslo, které není menší než a.

Vstup

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

Výstup

Vytisknout \left\lceil \dfrac{X}{10} \right\rceil jako celé číslo.

Omezení

- -10^{18} \leq X \leq 10^{18}
- X je celé číslo.

Příklad Vstup 1

27

Ukázkový výstup 1

3

Celá čísla, která nejsou menší než \frac{27}{10} = 2,7, jsou 3, 4, 5, \tečky. Z nich nejmenší je 3, takže \left \lceil \frac{27}{10} \right \rceil = 3.

Vzorový vstup 2

-13

Vzorový výstup 2

-1

Celá čísla, která nejsou menší než \frac{-13}{10} = -1,3, jsou všechna kladná celá čísla, 0 a -1. Nejmenší z nich je -1, takže \left \lceil \frac{-13}{10} \right \rceil = -1.

Ukázkový vstup 3

40

Ukázka výstupu 3

4

Nejmenší celé číslo, které není menší než \frac{40}{10} = 4, je samo 4.

Vzorový vstup 4

-20

Ukázkový výstup 4

-2

Vzorový vstup 5

123456789123456789

Vzorový výstup 5

12345678912345679


Jste zadáni řetězcem S délky N sestávajícím z 0 a 1.
Řetězec T délky N sestávající z 0 a 1 je dobrý řetězec, pokud a pouze pokud splňuje následující podmínku:

- Existuje právě jedno celé číslo i takové, že 1 \leq i \leq N - 1 a i-tý a (i + 1)-tý znak T jsou stejné.

Pro každé i = 1,2,\ldots, N můžete zvolit, zda provést následující operaci jednou:

- Pokud je i-tý znak S 0, nahraďte ho 1, a naopak. Náklady na tuto operaci, pokud je provedena, jsou C_i.

Najděte minimální celkové náklady potřebné k tomu, aby S byl dobrý řetězec.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N
S
C_1 C_2 \ldots C_N

Výstup

Vytiskněte odpověď.

Omezení

- 2 \leq N \leq 2 \times 10^5
- S je řetězec délky N sestávající z 0 a 1.
- 1 \leq C_i \leq 10^9
- N a C_i jsou celá čísla.

Ukázkový vstup 1

5
00011
3 9 2 6 4

Ukázkový výstup 1

7

Provedení operace pro i = 1, 5 a neprovedení pro i = 2, 3, 4 způsobí, že S = 10010, což je dobrý řetězec. Náklady v tomto případě jsou 7 a není možné udělat S dobrý řetězem za méně než 7, takže vytištěná hodnota je 7.

Ukázkový vstup 2

4
1001
1 2 3 4

Ukázkový výstup 2

0

Ukázkový vstup 3

11
11111100111
512298012 821282085 543342199 868532399 690830957 973970164 928915367 954764623 923012648 540375785 925723427

Ukázkový výstup 3

2286846953

Je vám dán řetězec S délky N skládající se z 0 a 1.
Řetězec T délky N sestávající z 0 a 1 je dobrý řetězec právě tehdy, když splňuje následující podmínku:

- Existuje právě jedno celé číslo i takové, že 1 \leq i \leq N - 1 a i-tý a (i + 1)-tý znak T jsou stejné.

Pro každé i = 1,2,\ldots, N si můžete vybrat, zda chcete provést následující operaci jednou:

- Pokud je i-tý znak S 0, nahraďte jej 1 a naopak. Cena této operace, je-li provedena, je C_i.

Najděte minimální celkové náklady potřebné k tomu, aby byl S dobrý řetězec.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
S
C_1 C_2 \ldots C_N

Výstup

Vytiskněte odpověď.

Omezení

- 2 \leq N \leq 2 \times 10^5
- S je řetězec délky N sestávající z 0 a 1.
- 1 \leq C_i \leq 10^9
- N a C_i jsou celá čísla.

Ukázkový vstup 1

5
00011
3 9 2 6 4

Ukázkový výstup 1

7

Provedením operace pro i = 1, 5 a neprovedením pro i = 2, 3, 4 je S = 10010, což je dobrý řetězec. Náklady vzniklé v tomto případě jsou 7 a je nemožné udělat z S dobrý řetězec za méně než 7, takže vytiskněte 7.

Ukázkový vstup 2

4
1001
1 2 3 4

Ukázkový výstup 2

0

Ukázkový vstup 3

11
11111100111
512298012 821282085 543342199 868532399 690830957 973970164 928915367 954764623 923012648 58703945 58703945

Ukázkový výstup 3

2286846953


K dispozici je nekonečně dlouhá klaviatura klavíru.
Existuje v rámci této klaviatury souvislý úsek, který se skládá z bílých kláves W a černých kláves B?

Nechť S je řetězec vzniklý nekonečným opakováním řetězce wbwbwwbwbwbw.
Existuje podřetězec S, který se skládá z W výskytů klávesy w a B výskytů klávesy b?

Co je podřetězec S?
Podřetězec S je řetězec, který lze vytvořit spojením l-tého, (l+1)-tého, \dots, r-tého znaku S v tomto pořadí pro nějaká dvě celá kladná čísla l a r (l\leq r).

Vstup

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

Výstup

Pokud existuje podřetězec S, který se skládá z W výskytů w a B výskytů b, vypište Yes; jinak vypište No.

Omezení

- W a B jsou celá čísla.
- 0\leq W,B \leq 100
- W+B \geq 1

Vzorový vstup 1

3 2

Vzorový výstup 1

Yes

Prvních 15 znaků S je wbwbwwbwbwbwbwwbw. Z 11. až 15. znaku lze vytvořit řetězec bwwbw, což je podřetězec složený ze tří výskytů w a dvou výskytů b.

Vzorový vstup 2

3 0

Ukázkový výstup 2

No

Jediný řetězec složený ze tří výskytů w a nula výskytů b je www, což není podřetězec S.

Vzorový vstup 3

92 66

Vzorový výstup 3

Yes

K dispozici je nekonečně dlouhá klavírní klaviatura.
Je v této klávesnici souvislý segment, který se skládá z bílých kláves W a černých kláves B?

Nechť S je řetězec vytvořený nekonečným opakováním řetězce wbwbwwbwbwbw.
Existuje podřetězec S, který se skládá z W výskytů w a B výskytů b?

Co je podřetězec S?
Podřetězec S je řetězec, který lze vytvořit zřetězením l-tých, (l+1)-tých, \až, r-tých znaků S v tomto pořadí pro nějaká dvě kladná celá čísla l a r (l\leq r).

Vstup

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

Výstup

Pokud existuje podřetězec S, který se skládá z W výskytů w a B výskytů b, vytiskněte Ano; jinak tisk č.

Omezení

- W a B jsou celá čísla.
- 0\leq W,B \leq 100
- W+B \geq 1

Ukázkový vstup 1

3 2

Ukázkový výstup 1

Yes

Prvních 15 znaků S je wbwbwwbwbwbwwbw. Z 11. až 15. znaku můžete vytvořit řetězec bwwbw, což je podřetězec sestávající ze tří výskytů w a dvou výskytů b.

Ukázkový vstup 2

30

Ukázkový výstup 2

No

Jediný řetězec sestávající ze tří výskytů w a nula výskytů b je www, což není podřetězec S.

Ukázkový vstup 3

92 66

Ukázkový výstup 3

Yes

K dispozici je nekonečně dlouhá klavírní klaviatura.
Je v této klávesnici souvislý segment, který se skládá z bílých kláves W a černých kláves B?

Nechť S je řetězec vytvořený nekonečným opakováním řetězce wbwbwwbwbwbw.
Existuje podřetězec S, který se skládá z W výskytů w a B výskytů b?

Co je podřetězec S?
Podřetězec S je řetězec, který lze vytvořit zřetězením l-tých, (l+1)-tých, \teček, r-tých znaků S v tomto pořadí pro nějaká dvě kladná celá čísla l a r (l\leq r).

Vstup

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

Výstup

Pokud existuje podřetězec S, který se skládá z W výskytů w a B výskytů b, vytiskněte Ano; jinak tisk č.

Omezení

- W a B jsou celá čísla.
- 0\leq W,B \leq 100
- W+B \geq 1

Ukázkový vstup 1

3 2

Ukázkový výstup 1

Yes

Prvních 15 znaků S je wbwbwwbwbwbwwbw. Z 11. až 15. znaku můžete vytvořit řetězec bwwbw, což je podřetězec sestávající ze tří výskytů w a dvou výskytů b.

Ukázkový vstup 2

30

Ukázkový výstup 2

No

Jediný řetězec sestávající ze tří výskytů w a nula výskytů b je www, což není podřetězec S.

Ukázkový vstup 3

92 66

Ukázkový výstup 3

Yes


Je zde mřížka s H řadami a W sloupci. Zpočátku jsou všechny buňky natřeny barvou 0. Provedete následující operace v pořadí i = 1, 2, \ldots, M.

- Pokud T_i = 1, přemalujte všechny buňky v A_i-té řadě barvou X_i.

- Pokud T_i = 2, přemalujte všechny buňky v A_i-tém sloupci barvou X_i.

Po dokončení všech operací pro každou barvu i, která existuje na mřížce, zjistěte počet buněk, které jsou natřeny barvou i.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
H W M
T_1 A_1 X_1
T_2 A_2 X_2
\vdots
T_M A_M X_M

Výstup

Nechť K je počet různých celých čísel i takových, že existují buňky natřené barvou i. Vytiskněte K + 1 řádků. První řádek by měl obsahovat hodnotu K. Druhý a následující řádky by měly obsahovat, pro každou barvu i, která existuje na mřížce, číslo barvy i a počet buněk natřených touto barvou. Konkrétně, v (i + 1)-tém řádku (1 \leq i \leq K) by mělo být číslo barvy c_i a počet buněk x_i natřených barvou c_i, v tomto pořadí, odděleno mezerou. Zde vytiskněte čísla barev ve vzestupném pořadí. To znamená, že zajistěte, že c_1 < c_2 < \ldots < c_K. Také je vyžadováno, že x_i > 0.

Omezení

- 1 \leq H, W, M \leq 2 \times 10^5
- T_i \in \lbrace 1, 2 \rbrace
- 1 \leq A_i \leq H pro každé i takové, že T_i = 1,
- 1 \leq A_i \leq W pro každé i takové, že T_i = 2.
- 0 \leq X_i \leq 2 \times 10^5
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

3
0 5
2 4
5 3

Operace změní barvy buněk na mřížce následovně:
0000   0000   0000   0000   0000
0000 → 5555 → 5550 → 5550 → 5550
0000   0000   0000   3333   2222

Nakonec je pět buněk natřeno barvou 0, čtyři barvou 2 a tři barvou 5.

Ukázkový vstup 2

1 1 5
1 1 1
1 1 10
2 1 100
1 1 1000
2 1 10000

Ukázkový výstup 2

1
10000 1

Ukázkový vstup 3

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

Ukázkový výstup 3

5
6 5
7 5
8 5
9 5
10 5

Je zde mřížka s řádky H a sloupci W. Zpočátku jsou všechna políčka vybarvena barvou 0.
Následující operace se provádějí v pořadí i = 1, 2, \ldots, M.

-
Je-li T_i = 1, přebarvěte všechna políčka v A_i--tém řádku barvou X_i.

-
Je-li T_i = 2, přebarvěte všechny buňky v A_i--tém sloupci barvou X_i.

Po dokončení všech operací zjistěte pro každou barvu i, která v mřížce existuje, počet buněk, které jsou vymalovány barvou i.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
H W M
T_1 A_1 X_1
T_2 A_2 X_2
\vdots
T_M A_M X_M

Výstup

Nechť K je počet různých celých čísel i takových, že existují buňky vybarvené barvou i. Vypište K + 1 řádků.
První řádek by měl obsahovat hodnotu K.
Druhý a další řádky by měly pro každou barvu i, která existuje v mřížce, obsahovat číslo barvy i a počet buněk vybarvených touto barvou.
Konkrétně (i + 1)-tý řádek (1 \leq i \leq K) by měl obsahovat číslo barvy c_i a počet buněk x_i vybarvených barvou c_i v tomto pořadí, oddělených mezerou.
Zde vypište čísla barev ve vzestupném pořadí. To znamená, že c_1 < c_2 < \ldots < c_K. Všimněte si také, že je vyžadováno x_i > 0.

Omezení

- 1 \leq H, W, M \leq 2 \krát 10^5
- T_i \in \lbrace 1, 2 \rbrace
- 1 \leq A_i \leq H pro každé i takové, že T_i = 1,
- 1 \leq A_i \leq W pro každé i takové, že T_i = 2.
- 0 \leq X_i \leq 2 \krát 10^5
- Všechny vstupní hodnoty jsou celá čísla.

Příklad Vstup 1

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

Ukázkový výstup 1

3
0 5
2 4
5 3

Operace změní barvy buněk v mřížce následujícím způsobem:
0000   0000   0000   0000   0000
0000 → 5555 → 5550 → 5550 → 5550
0000   0000   0000   3333   2222

Nakonec je zde pět buněk nabarvených barvou 0, čtyři barvou 2 a tři barvou 5.

Vzorkovací vstup 2

1 1 5
1 1 1
1 1 10
2 1 100
1 1 1000
2 1 10000

Ukázkový výstup 2

1
10000 1

Vzorkovací vstup 3

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

Ukázkový výstup 3

5
6 5
7 5
8 5
9 5
10 5

Je zde mřížka s řádky H a sloupci W. Zpočátku jsou všechna políčka vybarvena barvou 0.
Následující operace se provádějí v pořadí i = 1, 2, \ldots, M.

-
Je-li T_i = 1, přebarvěte všechna políčka v A_i--tém řádku barvou X_i.

-
Je-li T_i = 2, přebarvěte všechny buňky v A_i--tém sloupci barvou X_i.

Po dokončení všech operací zjistěte pro každou barvu i, která v mřížce existuje, počet buněk, které jsou vymalovány barvou i.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
H W M
T_1 A_1 X_1
T_2 A_2 X_2
\vdots
T_M A_M X_M

Výstup

Nechť K je počet různých celých čísel i takových, že existují buňky vybarvené barvou i. Vypište K + 1 řádků.
První řádek by měl obsahovat hodnotu K.
Druhý a další řádky by měly pro každou barvu i, která existuje v mřížce, obsahovat číslo barvy i a počet buněk vybarvených touto barvou.
Konkrétně (i + 1)-tý řádek (1 \leq i \leq K) by měl obsahovat číslo barvy c_i a počet buněk x_i vybarvených barvou c_i v tomto pořadí, oddělených mezerou.
Zde vypište čísla barev ve vzestupném pořadí. To znamená, že c_1 < c_2 < \ldots < c_K. Všimněte si také, že je vyžadováno x_i > 0.

Omezení

- 1 \leq H, W, M \leq 2 \times 10^5
- T_i \in \lbrace 1, 2 \rbrace
- 1 \leq A_i \leq H pro každé i takové, že T_i = 1,
- 1 \leq A_i \leq W pro každé i takové, že T_i = 2.
- 0 \leq X_i \leq 2 \krát 10^5
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

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

Vzorový výstup 1

3
0 5
2 4
5 3

Operace změní barvy buněk v mřížce následujícím způsobem:
0000 0000 0000 0000 0000
0000 → 5555 → 5550 → 5550 → 5550
0000 0000 0000 3333 2222

Nakonec je pět políček vybarveno barvou 0, čtyři barvou 2 a tři barvou 5.

Vzorový vstup 2

1 1 5
1 1 1
1 1 10
2 1 100
1 1 1000
2 1 10000

Vzorový výstup 2

1
10000 1

Vzorový vstup 3

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

Vzorový výstup 3

5
6 5
7 5
8 5
9 5
10 5


Je vám dáno N celých čísel A_1, A_2, \tečky, A_N.
Definujte také B_i = A_i \times A_{i+1}\ (1 \leq i \leq N-1).
Vytiskněte B_1, B_2, \dots, B_{N-1} v tomto pořadí, oddělené mezerami.

Vstup

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

Výstup

Vytiskněte B_1, B_2, \dots, B_{N-1} v tomto pořadí, oddělené mezerami.

Omezení

- 2 \leq N \leq 100
- 1 \leq A_i \leq 100
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3
3 4 6

Ukázkový výstup 1

12 24

Máme B_1 = A_1\times A_2 = 12, B_2 = A_2 \timesA_3 = 24.

Ukázkový vstup 2

5
22 75 26 45 72

Ukázkový výstup 2

1650 1950 1170 3240

Je vám dáno N celých čísel A_1, A_2, \tečky, A_N.
Definujte také B_i = A_i \times A_{i+1}\ (1 \leq i \leq N-1).
Vytiskněte B_1, B_2, \dots, B_{N-1} v tomto pořadí, oddělené mezerami.

Vstup

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

Výstup

Vytiskněte B_1, B_2, \dots, B_{N-1} v tomto pořadí, oddělené mezerami.

Omezení

- 2 \leq N \leq 100
- 1 \leq A_i \leq 100
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3
3 4 6

Ukázkový výstup 1

12 24

Máme B_1 = A_1 \krát A_2 = 12, B_2 = A_2 \krát A_3 = 24.

Ukázkový vstup 2

5
22 75 26 45 72

Ukázkový výstup 2

1650 1950 1170 3240

Je dáno N celých čísel A_1, A_2, \dots, A_N.
Definujte také B_i = A_i \krát A_{i+1}\ (1 \leq i \leq N-1).
Vypište B_1, B_2, \dots, B_{N-1} v tomto pořadí, oddělené mezerami.

Vstup

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

Výstup

Vypíše B_1, B_2, \dots, B_{N-1} v tomto pořadí, oddělené mezerami.

Omezení

- 2 \leq N \leq 100
- 1 \leq A_i \leq 100
- Všechny vstupní hodnoty jsou celá čísla.

Příklad Vstup 1

3
3 4 6

Ukázkový výstup 1

12 24

Máme B_1 = A_1 \krát A_2 = 12, B_2 = A_2 \krát A_3 = 24.

Vzorový vstup 2

5
22 75 26 45 72

Ukázka výstupu 2

1650 1950 1170 3240


Máte danou posloupnost kladných celých čísel A=(A_1,A_2,\dots,A_N) délky N a kladné celé číslo K. Najděte součet celých čísel mezi 1 a K včetně těch, která se v posloupnosti A nevyskytují.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

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

Ukázkový vstup 1

4 5
1 6 3 1

Ukázkový výstup 1

11

Mezi celými čísly mezi 1 a 5 se v posloupnosti A nevyskytují tři čísla, 2, 4 a 5. Tedy vytiskněte jejich součet: 2+4+5=11.

Ukázkový vstup 2

1 3
346

Ukázkový výstup 2

6

Ukázkový vstup 3

10 158260522
877914575 24979445 623690081 262703497 24979445 1822804784 1430302156 1161735902 923078537 1189330739

Ukázkový výstup 3

12523196466007058

Je dána posloupnost kladných celých čísel A=(A_1,A_2,\dots,A_N) délky N a kladné celé číslo K.
Najděte součet celých čísel mezi 1 a K včetně, která se nevyskytují v posloupnosti A.

Vstup

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

Výstup

Vypište odpověď.

Omezení

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

Ukázkový vstup 1

4 5
1 6 3 1

Ukázkový výstup 1

11

Mezi celými čísly mezi 1 a 5 se tři čísla, 2, 4 a 5, v A nevyskytují.
Vypište tedy jejich součet: 2+4+5=11.

Vzorový vstup 2

1 3
346

Ukázkový výstup 2

6

Vzorový vstup 3

10 158260522
877914575 24979445 623690081 262703497 24979445 1822804784 1430302156 1161735902 923078537 1189330739

Vzorový výstup 3

12523196466007058

Je vám dána posloupnost kladných celých čísel A=(A_1,A_2,\dots,A_N) délky N a kladného celého čísla K.
Najděte součet celých čísel mezi 1 a K, včetně, která se nevyskytují v posloupnosti A.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

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

Ukázkový vstup 1

4 5
1 6 3 1

Ukázkový výstup 1

11

Mezi celými čísly mezi 1 a 5 se v A neobjevují tři čísla, 2, 4 a 5.
Vytiskněte tedy jejich součet: 2+4+5=11.

Ukázkový vstup 2

1 3
346

Ukázkový výstup 2

6

Ukázkový vstup 3

10 158260522
877914575 24979445 623690081 262703497 24979445 1822804784 1430302156 1161735902 923078537 071993

Ukázkový výstup 3

12523196466007058


V Království AtCoder se týden skládá z A+B dnů, přičemž první až A-tý dny jsou prázdniny a (A+1)-tý až (A+B)-tý jsou všední dny.
Takahashi má N plánů a i-tý plán je naplánován za D_i dnů.
Zapomněl, jaký den v týdnu je dnes. Určete, zda je možné, aby všechny jeho N plánů byly naplánovány na prázdniny.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N A B
D_1 D_2 \ldots D_N

Výstup

Vytiskněte Yes na jediný řádek, pokud je možné, aby všechny Takahashiho N plánů byly naplánovány na prázdniny, a No jinak.

Omezení

- 1\leq N\leq 2\times 10^5
- 1\leq A,B\leq 10^9
- 1\leq D_1<D_2<\ldots<D_N\leq 10^9

Ukázkový vstup 1

3 2 5
1 2 9

Ukázkový výstup 1

Yes

V tomto vstupu se týden skládá ze sedmi dnů, přičemž první až druhé dny jsou prázdniny a třetí až sedmé dny jsou všední dny.
Předpokládejme, že dnes je sedmý den týdne. V tomto případě je jeden den později první den týdne, dva dny později druhý den týdne a devět dnů později je také druhý den týdne, což dělá všechny plány naplánované na prázdniny. Proto je možné, aby všechny Takahashiho N plánů byly naplánovány na prázdniny.

Ukázkový vstup 2

2 5 10
10 15

Ukázkový výstup 2

No

Ukázkový vstup 3

4 347 347
347 700 705 710

Ukázkový výstup 3

Yes

V království AtCoder se týden skládá ze dnů A+B, přičemž první až A-tý den jsou svátky a (A+1)-tý až (A+B)-tý jsou dny v týdnu.
Takahashi má N plánů a i-tý plán je naplánován o D_i dní později.
Zapomněl, jaký je dnes den v týdnu. Zjistěte, zda je možné, aby všechny jeho plány N byly naplánovány na svátky.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N A B
D_1 D_2 \ldots D_N

Výstup

Vytiskněte Ano na jednom řádku, pokud je možné, aby všechny Takahashiho plány N byly naplánovány na svátky, a jinak Ne.

Omezení

- 1\leq N\leq 2\krát 10^5
- 1\leq A,B\leq 10^9
- 1\leq D_1<D_2<\ldots<D_N\leq 10^9

Ukázkový vstup 1

3 2 5
1 2 9

Ukázkový výstup 1

Yes

V tomto vstupu se týden skládá ze sedmi dnů, přičemž první až druhý den jsou svátky a třetí až sedmý den jsou dny v týdnu.
Předpokládejme, že dnes je sedmý den v týdnu. V tomto případě by o jeden den později byl první den v týdnu, o dva dny později by byl druhý den v týdnu a o devět dní později by byl také druhý den v týdnu, takže všechny plány byly naplánovány na svátky. Proto je možné, že všechny Takahashiho plány N budou naplánovány na svátky.

Ukázkový vstup 2

2 5 10
10 15

Ukázkový výstup 2

No

Ukázkový vstup 3

4 347 347
347 700 705 710

Ukázkový výstup 3

Yes

V království AtCoder se týden skládá z A+B dnů, přičemž první až A-tý den jsou svátky a (A+1)-tý až (A+B)-tý jsou pracovní dny.
Takahaši má N plánů a i-tý plán je naplánován o D_i dní později.
Zapomněl, který den v týdnu je dnes. Určete, zda je možné, aby všech jeho N plánů bylo naplánováno na svátky.

Zadání:

Vstup je dán ze standardního vstupu v následujícím formátu:
N A B
D_1 D_2 \ldots D_N

Výstup

Vypište na jeden řádek Ano, pokud je možné, aby všechny Takahašiho plány N byly naplánovány na svátky, a Ne v opačném případě.

Omezení

- 1\leq N\leq 2\times 10^5
- 1\leq A,B\leq 10^9
- 1\leq D_1<D_2<\ldots<D_N\leq 10^9

Vzorový vstup 1

3 2 5
1 2 9

Vzorový výstup 1

Yes

V tomto zadání se týden skládá ze sedmi dnů, přičemž první až druhý den jsou svátky a třetí až sedmý den jsou pracovní dny.
Předpokládejme, že dnes je sedmý den v týdnu. V tomto případě by o den později byl první den týdne, o dva dny později by byl druhý den týdne a o devět dní později by byl také druhý den týdne, čímž by všechny plány byly naplánovány na svátky. Je tedy možné, aby všechny Takahašiho plány N byly naplánovány na svátky.

Vzorový vstup 2

2 5 10
10 15

Vzorový výstup 2

No

Vzorový vstup 3

4 347 347
347 700 705 710

Vzorový výstup 3

Yes


Jsou vám dána kladná celá čísla N a K a posloupnost délky N, A=(A_1,A_2,\ldots,A_N).
Extrahujte všechny prvky A, které jsou násobky K, vydělte je K a vytiskněte podíly.

Vstup

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

Výstup

Rozdělte všechny prvky A, které jsou násobky K, a vytiskněte podíly ve vzestupném pořadí s mezerami mezi nimi.

Omezení

- 1\leq N,K\leq 100
- 1\leq A_1 < A_2 < \ldots < A_N \leq 100
- A má alespoň jeden násobek K.
- Všechna uvedená čísla jsou celá čísla.

Ukázkový vstup 1

5 2
2 5 6 7 10

Ukázkový výstup 1

1 3 5

Násobky 2 mezi prvky v A jsou 2, 6 a 10. Vydělte je 2, abyste dostali 1, 3 a 5, a vytiskněte je ve vzestupném pořadí s mezerami mezi nimi.

Ukázkový vstup 2

3 1
3 4 7

Ukázkový výstup 2

3 4 7

Ukázkový vstup 3

5 10
50 51 54 60 65

Ukázkový výstup 3

5 6

Jsou dána celá kladná čísla N a K a posloupnost délky N, A=(A_1,A_2,\ldots,A_N).
Vypište všechny prvky A, které jsou násobky K, vydělte je K a vypište kvocienty.

Vstup

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

Výstup

Rozdělí všechny prvky A, které jsou násobky K, a vypíše kvocienty ve vzestupném pořadí s mezerami mezi nimi.

Omezení

- 1\leq N,K\leq 100
- 1\leq A_1 < A_2 < \ldots < A_N \leq 100
- A má alespoň jeden násobek K.
- Všechna zadaná čísla jsou celá čísla.

Příklad Vstup 1

5 2
2 5 6 7 10

Ukázkový výstup 1

1 3 5

Násobky 2 mezi prvky v A jsou 2, 6 a 10. Vydělte je dvěma a získáte 1, 3 a 5 a vypište je ve vzestupném pořadí s mezerami mezi nimi.

Vzorový vstup 2

3 1
3 4 7

Ukázkový výstup 2

3 4 7

Vzorový vstup 3

5 10
50 51 54 60 65

Vzorový výstup 3

5 6

Máte dány kladné celé čísla N a K a posloupnost délky N, A=(A_1,A_2,\ldots,A_N).
Vyberte všechny prvky A, které jsou násobky K, vydělte je K a vytiskněte podíly.

Vstup

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

Výstup

Vydělte všechny prvky A, které jsou násobky K, a vytiskněte podíly ve vzestupném pořadí s mezerami mezi nimi.

Omezení

- 1\leq N,K\leq 100
- 1\leq A_1 < A_2 < \ldots < A_N \leq 100
- A má alespoň jeden násobek K.
- Všechny dané čísla jsou celá čísla.

Ukázkový vstup 1

5 2
2 5 6 7 10

Ukázkový výstup 1

1 3 5

Násobky 2 mezi prvky v A jsou 2, 6 a 10. Vydělte je 2 a dostanete 1, 3 a 5, a vytiskněte je ve vzestupném pořadí s mezerami mezi nimi.

Ukázkový vstup 2

3 1
3 4 7

Ukázkový výstup 2

3 4 7

Ukázkový vstup 3

5 10
50 51 54 60 65

Ukázkový výstup 3

5 6


Existuje celočíselná posloupnost A=(A_1,A_2,\ldots,A_N) délky N, kde všechny prvky jsou zpočátku nastaveny na 0. Také existuje množina S, která je zpočátku prázdná.
Proveďte následující Q dotazů v pořadí. Najděte hodnotu každého prvku v posloupnosti A po zpracování všech Q dotazů. i-tý dotaz je v následujícím formátu:

- Je zadáno celé číslo x_i. Pokud je celé číslo x_i obsaženo v S, odstraňte x_i z S. Jinak vložte x_i do S. Poté pro každé j=1,2,\ldots,N, přidejte |S| k A_j pokud j\in S.

Zde |S| označuje počet prvků v množině S. Například, pokud S=\lbrace 3,4,7\rbrace, pak |S|=3.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N Q
x_1 x_2 \ldots x_Q

Výstup

Vypište posloupnost A po zpracování všech dotazů v následujícím formátu:
A_1 A_2 \ldots A_N

Omezení

- 1\leq N,Q\leq 2\times10^5
- 1\leq x_i\leq N
- Všechna zadaná čísla jsou celá.

Ukázkový vstup 1

3 4
1 3 3 2

Ukázkový výstup 1

6 2 2

V prvním dotazu je 1 vloženo do S, což vytvoří S=\lbrace 1\rbrace. Poté je |S|=1 přidáno k A_1. Posloupnost se stane A=(1,0,0).
Ve druhém dotazu je 3 vloženo do S, což vytvoří S=\lbrace 1,3\rbrace. Poté je |S|=2 přidáno k A_1 a A_3. Posloupnost se stane A=(3,0,2).
Ve třetím dotazu je 3 odstraněno z S, což vytvoří S=\lbrace 1\rbrace. Poté je |S|=1 přidáno k A_1. Posloupnost se stane A=(4,0,2).
Ve čtvrtém dotazu je 2 vloženo do S, což vytvoří S=\lbrace 1,2\rbrace. Poté je |S|=2 přidáno k A_1 a A_2. Posloupnost se stane A=(6,2,2).
Nakonec se posloupnost stane A=(6,2,2).

Ukázkový vstup 2

4 6
1 2 3 2 4 2

Ukázkový výstup 2

15 9 12 7

Existuje celočíselná posloupnost A=(A_1,A_2,\ldots,A_N) délky N, kde jsou všechny prvky zpočátku nastaveny na 0. Existuje také množina S, která je zpočátku prázdná.
Proveďte následující Q dotazy v uvedeném pořadí. Najděte hodnotu každého prvku v sekvenci A po zpracování všech Q dotazů. I-tý dotaz je v následujícím formátu:

- Je dáno celé číslo x_i. Pokud je celé číslo x_i obsaženo v S, odeberte x_i z S. V opačném případě vložte x_i do S. Potom pro každé j=1,2,\ldots,N přidejte |S| do A_j, pokud j\in S.

Tady, |S| označuje počet prvků v množině S. Pokud například S=\lbrace 3,4,7\rbrace, pak |S|=3.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N Q
x_1 x_2 \ldots x_Q

Výstup

Po zpracování všech dotazů vytiskněte sekvenci A v následujícím formátu:
A_1 A_2 \ldots A_N

Omezení

- 1\leq N,Q\leq 2\times10^5
- 1\leq x_i\leq N
- Všechna uvedená čísla jsou celá čísla.

Ukázkový vstup 1

3 4
1 3 3 2

Ukázkový výstup 1

6 2 2

V prvním dotazu je 1 vložena do S, takže S=\lbrace 1\rbrace. Potom se k A_1 přidá |S|=1. Sekvence se stane A=(1,0,0).
Ve druhém dotazu se do S vloží 3, takže S=\lbrace 1,3\rbrace. Potom se k A_1 a A_3 přidá |S|=2. Sekvence se stane A=(3,0,2).
Ve třetím dotazu je 3 odstraněno z S, takže S=\lbrace 1\rbrace. Potom se k A_1 přidá |S|=1. Sekvence se stane A=(4,0,2).
Ve čtvrtém dotazu se do S vloží 2, takže S=\lbrace 1,2\rbrace. Potom se k A_1 a A_2 přidá |S|=2. Sekvence se stane A=(6,2,2).
Nakonec se ze sekvence stane A=(6,2,2).

Ukázkový vstup 2

4 6
1 2 3 2 4 2

Ukázkový výstup 2

15 9 12 7

Existuje celočíselná posloupnost A=(A_1,A_2,\ldots,A_N) délky N, kde jsou všechny prvky na počátku nastaveny na 0. Existuje také množina S, která je na počátku prázdná.
Proveďte následující dotazy Q v pořadí. Po zpracování všech dotazů Q najděte hodnotu každého prvku v posloupnosti A. I-tý dotaz je v následujícím formátu:

- Je dáno celé číslo x_i. Pokud je celé číslo x_i obsaženo v S, odstraňte x_i z S. V opačném případě vložte x_i do S. Potom pro každé j=1,2,\ldots,N přidejte |S| do A_j, pokud j\v S.

Zde |S| označuje počet prvků v množině S. Například pokud S=\lbrace 3,4,7\rbrace, pak |S|=3.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N Q
x_1 x_2 \ldots x_Q

Výstup

Vypíše posloupnost A po zpracování všech dotazů v následujícím formátu:
A_1 A_2 \ldots A_N

Omezení

- 1\leq N,Q\leq 2\times10^5
- 1\leq x_i\leq N
- Všechna zadaná čísla jsou celá čísla.

Příklad Vstup 1

3 4
1 3 3 2

Ukázkový výstup 1

6 2 2

 V prvním dotazu se do S vloží 1, takže S=\lbrace 1\rbrace. Pak se do A_1 přidá |S|=1. Vznikne posloupnost A=(1,0,0).
Ve druhém dotazu se do S vloží 3, takže S=\lbrace 1,3\rbrace. Pak se k A_1 a A_3 přidá |S|=2. Vznikne posloupnost A=(3,0,2).
Ve třetím dotazu se z S odstraní 3, takže S=\lbrace 1\rbrace. Pak se k A_1 přidá |S|=1. Vznikne posloupnost A=(4,0,2).
Ve čtvrtém dotazu se do S vloží 2, takže S=\lbrace 1,2\rbrace. Pak se do A_1 a A_2 přidá |S|=2. Vznikne posloupnost A=(6,2,2).
Nakonec se z posloupnosti stane A=(6,2,2).

Ukázka vstupu 2

4 6
1 2 3 2 4 2

Ukázkový výstup 2

15 9 12 7


Je dán řetězec S složený z malých anglických písmen. Kolik různých neprázdných podřetězců má řetězec S?
Podřetězec je souvislý řetězec. Například xxx je podřetězec yxxxy, ale ne xxyxx.

Vstup

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

Výstup

Vypište odpověď.

Omezení

- S je řetězec o délce od 1 do 100 včetně, složený z malých anglických písmen.

Vzorový vstup 1

yay

Vzorový výstup 1

5

S má následujících pět různých neprázdných podřetězců:

- a
- y
- ay
- ya
- yay

Vzorový vstup 2

aababc

Vzorový výstup 2

17

Vzorový vstup 3

abracadabra

Vzorový výstup 3

54

Jste dani řetězec S skládající se z malých písmen anglické abecedy. Kolik různých neprázdných podřetězců má S?
Podřetězec je souvislá posloupnost. Například, xxx je podřetězcem yxxxy, ale ne xxyxx.

Vstup

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

Výstup

Vypište odpověď.

Omezení

- S je řetězec s délkou mezi 1 a 100, včetně, skládající se z malých písmen anglické abecedy.

Ukázkový vstup 1

yay

Ukázkový výstup 1

5

S má následujících pět různých neprázdných podřetězců:

- a
- y
- ay
- ya
- yay

Ukázkový vstup 2

aababc

Ukázkový výstup 2

17

Ukázkový vstup 3

abracadabra

Ukázkový výstup 3

54

Dostanete řetězec S složený z malých anglických písmen. Kolik různých neprázdných podřetězců má S?
Podřetězec je souvislá podsekvence. Například xxx je podřetězec yxxxy, ale ne xxyxx.

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 1 a 100 včetně, který se skládá z malých anglických písmen.

Ukázkový vstup 1

jojo

Ukázkový výstup 1

5

S má následujících pět různých neprázdných podřetězců:

- a
- y
- ay
- ya
- jo

Ukázkový vstup 2

aababc

Ukázkový výstup 2

17

Ukázkový vstup 3

abrakadabra

Ukázkový výstup 3

54


Existuje \( N \) druhů fazolí, jedna fazole každého druhu. \( i \)-tý druh fazole má lahodnost \( A_i \) a barvu \( C_i \). Fazole jsou smíchané a lze je rozlišit jen podle barvy.
Vyberete jednu barvu fazolí a sníte jednu fazoli té barvy. Výběrem optimální barvy maximalizujte minimální možnou lahodnost fazole, kterou sníte.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
\( N \)
\( A_1 \) \( C_1 \)
\( A_2 \) \( C_2 \)
\vdots
\( A_N \) \( C_N \)

Výstup

Vytiskněte jako celé číslo maximální hodnotu minimální možné lahodnosti fazole, kterou sníte.

Omezení

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

Ukázkový vstup 1

4
100 1
20 5
30 5
40 1

Ukázkový výstup 1

40

Všimněte si, že fazole stejné barvy nelze odlišit od sebe navzájem.
Můžete si vybrat barvu 1 nebo barvu 5.

- Existují dva druhy fazolí barvy 1 s lahodností 100 a 40. Minimální lahodnost při volbě barvy 1 je tedy 40.
- Existují dva druhy fazolí barvy 5 s lahodností 20 a 30. Minimální lahodnost při volbě barvy 5 je tedy 20.

Pro maximalizaci minimální lahodnosti byste si měli vybrat barvu 1, proto vytiskněte minimální lahodnost v tomto případě: 40.

Ukázkový vstup 2

10
68 3
17 2
99 2
92 4
82 4
10 3
100 2
78 1
3 1
35 4

Ukázkový výstup 2

35

Existuje N druhů fazolí, od každého druhu jedna fazole. Fazole i-tého druhu má chutnost A_i a barvu C_i. Fazole jsou smíšené a lze je rozlišit pouze podle barvy.
Vyberete si jednu barvu fazolí a sníte jednu fazoli této barvy. Výběrem optimální barvy maximalizujete minimální možnou chutnost fazole, kterou sníte.

Vstupní údaje

Vstup se zadává ze standardního vstupu v následujícím formátu:
N
A_1 C_1
A_2 C_2
\vdots
A_N C_N

Výstup

Vypište jako celé číslo maximální hodnotu minimální možné chutnosti fazole, kterou jíte.

Omezení

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

Ukázkový vstup 1

4
100 1
20 5
30 5
40 1

Výstupní vzorek 1

40

Všimněte si, že fazole stejné barvy nelze od sebe odlišit.
Můžete zvolit barvu 1 nebo barvu 5.

- Existují dva druhy fazolí barvy 1 s chutností 100 a 40. Minimální chutnost při výběru barvy 1 je tedy 40.
- Existují dva druhy fazolí barvy 5, jejichž chutnost je 20 a 30. Minimální chutnost při výběru barvy 5 je tedy 20.

Pro dosažení maximální minimální chutnosti byste měli zvolit barvu 1, takže v takovém případě vytiskněte minimální chutnost: 40.

Vzorový vstup 2

10
68 3
17 2
99 2
92 4
82 4
10 3
100 2
78 1
3 1
35 4

Výstupní vzorek 2

35

Existuje N druhů fazolí, od každého druhu jedna fazole. I-tý typ fazolí má lahodnost A_i a barvu C_i. Fazole jsou smíchané a lze je rozlišit pouze podle barvy.
Vyberete si jednu barvu fazolí a sníte jedno fazole této barvy. Výběrem optimální barvy maximalizujte minimální možnou lahodnost fazolí, které jíte.

Vstup

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

Výstup

Vytiskněte jako celé číslo maximální hodnotu minimální možné lahodnosti fazolí, které jíte.

Omezení

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

Ukázkový vstup 1

4
100 1
20 5
30 5
40 1

Ukázkový výstup 1

40

Všimněte si, že fazole stejné barvy nelze od sebe odlišit.
Můžete si vybrat barvu 1 nebo barvu 5.

- Existují dva druhy fazolí barvy 1, s lahodností 100 a 40. Minimální lahodnost při výběru barvy 1 je tedy 40.
- Existují dva druhy fazolí barvy 5, s lahodností 20 a 30. Minimální lahodnost při výběru barvy 5 je tedy 20.

Chcete-li maximalizovat minimální lahodnost, měli byste zvolit barvu 1, takže v takovém případě vytiskněte minimální lahodnost: 40.

Ukázkový vstup 2

10
68 3
17 2
99 2
92 4
82 4
10 3
100 2
78 1
3 1
35 4

Ukázkový výstup 2

35


Na rovině xy je N bodů s identifikačními čísly od 1 do N. Bod i se nachází na souřadnicích (X_i, Y_i) a žádné dva body nemají stejné souřadnice.
Z každého bodu najděte nejvzdálenější bod a vytiskněte jeho identifikační číslo.
Pokud jsou nejvzdálenějšími body více bodů, vytiskněte nejmenší identifikační číslo z těchto bodů.
Zde používáme eukleidovskou vzdálenost: pro dva body (x_1,y_1) a (x_2,y_2) je vzdálenost mezi nimi (\sqrt{(x_1-x_2)^{2}+(y_1-y_2)^{2}}\).

Vstup

Vstup je zadán ve standardním vstupu v následujícím formátu:
N
X_1 Y_1
X_2 Y_2
\vdots
X_N Y_N

Výstup

Vytiskněte N řádků. i-tý řádek by měl obsahovat ID číslo nejvzdálenějšího bodu od bodu i.

Omezení

- 2 \leq N \leq 100
- -1000 \leq X_i, Y_i \leq 1000
- (X_i, Y_i) \neq (X_j, Y_j) pokud i \neq j.
- Všechny hodnoty vstupu jsou celá čísla.

Ukázkový vstup 1

4
0 0
2 4
5 0
3 4

Ukázkový výstup 1

3
3
1
1

Následující obrázek ukazuje uspořádání bodů. Zde P_i představuje bod i.

Nejvzdálenější body od bodu 1 jsou body 3 a 4, a bod 3 má menší ID číslo.
Nejvzdálenější bod od bodu 2 je bod 3.
Nejvzdálenější body od bodu 3 jsou body 1 a 2, a bod 1 má menší ID číslo.
Nejvzdálenější bod od bodu 4 je bod 1.

Ukázkový vstup 2

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

Ukázkový výstup 2

6
6
6
6
6
4

Na rovinně xy je N bodů s identifikačními čísly od 1 do N. Bod i je umístěn na souřadnicích (X_i, Y_i) a žádné dva body nemají stejné souřadnice.
Z každého bodu najděte nejvzdálenější bod a vytiskněte jeho ID.
Pokud je více bodů nejvzdálenějších, vytiskněte nejmenší ze svých ID čísel.
Zde používáme Euklidovskou vzdálenost: pro dva body (x_1,y_1) a (x_2,y_2) je vzdálenost mezi nimi \sqrt{(x_1-x_2)^{2}+(y_1-y_2)^{2}}.

Vstup

Vstup je zadán ve standardním vstupu v následujícím formátu:
N
X_1 Y_1
X_2 Y_2
\vdots
X_N Y_N

Výstup

Vytiskněte N řádků. i-tý řádek by měl obsahovat ID číslo nejvzdálenějšího bodu od bodu i.

omezení

- 2 \leq N \leq 100
- -1000 \leq X_i, Y_i \leq 1000
- (X_i, Y_i) \neq (X_j, Y_j) pokud i \neq j.
- Všechny hodnoty vstupu jsou celá čísla.

Ukázkový vstup 1

4
0 0
2 4
5 0
3 4

Ukázkový výstup 1

3
3
1
1

Následující obrázek ukazuje uspořádání bodů. Zde P_i představuje bod i.

Nejvzdálenější body od bodu 1 jsou body 3 a 4, a bod 3 má menší ID číslo.
Nejvzdálenější bod od bodu 2 je bod 3.
Nejvzdálenější body od bodu 3 jsou body 1 a 2, a bod 1 má menší ID číslo.
Nejvzdálenější bod od bodu 4 je bod 1.

Ukázkový vstup 2

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

Ukázkový výstup 2

6
6
6
6
6
4

V rovině xy je N bodů s identifikačními čísly od 1 do N. Bod i se nachází na souřadnicích (X_i, Y_i) a žádné dva body nemají stejné souřadnice.
Od každého bodu najděte nejvzdálenější bod a vypište jeho ID číslo.
Pokud je nejvzdálenějších bodů více, vypište nejmenší z ID čísel těchto bodů.
Zde použijeme euklidovskou vzdálenost: pro dva body (x_1,y_1) a (x_2,y_2) je vzdálenost mezi nimi \sqrt{(x_1-x_2)^{2}+(y_1-y_2)^{2}}.

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

Vytiskněte N řádků. Na i-tém řádku by mělo být uvedeno identifikační číslo nejvzdálenějšího bodu od bodu i.

Omezení

- 2 \leq N \leq 100
-1000 \leq X_i, Y_i \leq 1000
- (X_i, Y_i) \neq (X_j, Y_j) pokud i \neq j.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázka vstupu 1

4
0 0
2 4
5 0
3 4

Ukázka výstupu 1

3
3
1
1

Následující obrázek ukazuje uspořádání bodů. Zde P_i představuje bod i.

Nejvzdálenějšími body od bodu 1 jsou body 3 a 4, přičemž bod 3 má menší identifikační číslo.
Nejvzdálenějším bodem od bodu 2 je bod 3.
Nejvzdálenějším bodem od bodu 3 jsou body 1 a 2 a bod 1 má menší identifikační číslo.
Nejvzdálenější bod od bodu 4 je bod 1.

Vzorový vstup 2

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

Ukázka výstupu 2

6
6
6
6
6
4


Takahaši bude mít N pokutových kopů ve fotbalovém zápase.
Při i-tém pokutovém kopu neuspěje, pokud je i násobkem 3, a uspěje v opačném případě.
Vypište výsledky jeho pokutových kopů.

Vstup

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

Výstup

Vypište řetězec délky N představující výsledky Takahashiho pokutových kopů. I-tý znak (1 \leq i \leq N) by měl být o, pokud Takahaši uspěl v i-tém pokutovém kopu, a x, pokud neuspěl.

Omezení

- 1 \leq N \leq 100
- Všechny vstupy jsou celá čísla.

Vzorový vstup 1

7

Vzorový výstup 1

ooxooxo

Takahaši nezvládne třetí a šestý pokutový kop, takže třetí a šestý znak bude x.

Vzorový vstup 2

9

Vzorový výstup 2

ooxooxoox

Takahashi bude mít v zápase A pokutových kopů.
Při i-tém pokutovém kopu neuspěje, pokud je i násobkem 3, jinak uspěje.
Vytiskněte výsledky jeho pokutových kopů.

Vstup

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

Výstup

Vytiskněte řetězec délky N představující výsledky Takahashiho pokutových kopů. i-tý znak (1 \leq i \leq N) by měl být o, pokud Takahashi uspěje v i-tém pokutovém kopu, a x, pokud selže.

Omezení

- 1 \leq N \leq 100
- Všechny vstupy jsou celá čísla.

Ukázkový Vstup 1

7

Ukázkový Výstup 1

ooxooxo

Takahashi selže při třetím a šestém pokutovém kopu, takže třetí a šestý znak bude x.

Ukázkový Vstup 2

9

Ukázkový Výstup 2

ooxooxoox

Takahaši bude mít N pokutových kopů ve fotbalovém zápase.
Při i-tém pokutovém kopu neuspěje, pokud je i násobkem 3, a uspěje v opačném případě.
Vypište výsledky jeho pokutových kopů.

Vstup

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

Výstup

Vypište řetězec délky N představující výsledky Takahashiho pokutových kopů. I-tý znak (1 \leq i \leq N) by měl být o, pokud Takahaši uspěl v i-tém pokutovém kopu, a x, pokud neuspěl.

Omezení

- 1 \leq N \leq 100
- Všechny vstupy jsou celá čísla.

Příklad Vstup 1

7

Vzorový výstup 1

ooxooxo

Takahaši nezvládne třetí a šestý pokutový kop, takže třetí a šestý znak bude x.

Vzorový vstup 2

9

Ukázkový výstup 2

ooxooxoox


Existuje mřížka s H řadami a W sloupci. Nechť (i, j) označuje buňku v i-té řadě shora a j-tém sloupci zleva. Stav každé buňky je reprezentován znakem A_{i,j}, což znamená následující:

- .: Prázdná buňka.
- #: Překážka.
- S: Prázdná buňka a výchozí bod.
- T: Prázdná buňka a cílový bod.

Takahashi se může přesunout z aktuální buňky do vertikálně nebo horizontálně sousední prázdné buňky spotřebováním 1 energie. Nemůže se přesunout, pokud má energii 0, ani nemůže opustit mřížku.
V mřížce je N léků. i-tý lék je v prázdné buňce (R_i, C_i) a může být použit k nastavení energie na E_i. Všimněte si, že energie se nemusí nutně zvýšit. Může použít lék ve své aktuální buňce. Použitý lék zmizí.
Takahashi začíná ve výchozím bodě s energií 0 a chce se dostat do cílového bodu. Určete, zda je to možné.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
H W
A_{1, 1}A_{1, 2}\cdotsA_{1, W}
A_{2, 1}A_{2, 2}\cdotsA_{2, W}
\vdots
A_{H, 1}A_{H, 2}\cdotsA_{H, W}
N
R_1 C_1 E_1
R_2 C_2 E_2
\vdots
R_N C_N E_N

Výstup

Pokud se Takahashi může dostat do cílového bodu z výchozího bodu, vypište Yes; jinak vypište No.

Omezení

- 1 \leq H, W \leq 200
- A_{i, j} je jedna z ., #, S, a T.
- Každé z S a T existuje přesně jednou v A_{i, j}.
- 1 \leq N \leq 300
- 1 \leq R_i \leq H
- 1 \leq C_i \leq W
- (R_i, C_i) \neq (R_j, C_j) pokud i \neq j.
- A_{R_i, C_i} není #.
- 1 \leq E_i \leq HW

Ukázkový vstup 1

4 4
S...
#..#
#...
..#T
4
1 1 3
1 3 5
3 2 1
2 3 1

Ukázkový výstup 1

Yes

Například se může dostat do cílového bodu následujícím způsobem:

- Použít lék 1. Energie se stane 3.
- Přesun na (1, 2). Energie se stane 2.
- Přesun na (1, 3). Energie se stane 1.
- Použít lék 2. Energie se stane 5.
- Přesun na (2, 3). Energie se stane 4.
- Přesun na (3, 3). Energie se stane 3.
- Přesun na (3, 4). Energie se stane 2.
- Přesun na (4, 4). Energie se stane 1.

Na cestě je také lék na (2, 3), ale jeho použití zabrání dosažení cíle.

Ukázkový vstup 2

2 2
S.
T.
1
1 2 4

Ukázkový výstup 2

No

Takahashi se nemůže přesunout z výchozího bodu.

Ukázkový vstup 3

4 5
..#..
.S##.
.##T.
.....
3
3 1 5
1 2 3
2 2 1

Ukázkový výstup 3

Yes

Je zde mřížka s H řádky a W sloupci. Označme (i, j) buňku v i-tém řádku shora a j-tý sloupec zleva. Stav každé buňky je reprezentován znakem A_{i,j}, což znamená následující:

- .: Prázdná buňka.
- #: Překážka.
- S: Prázdná buňka a počáteční bod.
- T: Prázdná buňka a cílový bod.

Takahashi se může přesunout ze své aktuální buňky do vertikálně nebo horizontálně sousedící prázdné buňky spotřebováním 1 energie. Nemůže se pohybovat, pokud je jeho energie 0, ani nemůže opustit mřížku.
V mřížce je N léků. I-tý lék je v prázdné buňce (R_i, C_i) a lze jej použít k nastavení energie na E_i. Všimněte si, že energie nemusí nutně vzrůst. Lék může používat ve své současné cele. Použitý lék zmizí.
Takahashi začíná ve výchozím bodě s 0 energií a chce dosáhnout cílového bodu. Zjistěte, zda je to možné.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
H W
A_{1, 1}A_{1, 2}\cdotsA_{1, W}
A_{2, 1}A_{2, 2}\cdotsA_{2, W}
\vtečky
A_{H, 1}A_{H, 2}\cdotsA_{H, W}
N
R_1 C_1 E_1
R_2 C_2 E_2
\vtečky
R_N C_N E_N

Výstup

Pokud může Takahashi dosáhnout cílového bodu z výchozího bodu, vytiskněte Ano; jinak vytiskněte Ne.

Omezení

- 1 \leq H, W \leq 200
- A_{i, j} je jedno z ., #, S a T.
- Každý z S a T existuje právě jednou v A_{i, j}.
- 1 \leq N \leq 300
- 1 \leq R_i \leq H
- 1 \leq C_i \leq W
- (R_i, C_i) \neq (R_j, C_j), pokud i \neq j.
- A_{R_i, C_i} není #.
- 1 \leq E_i \leq HW

Ukázkový vstup 1

4 4
S...
#..#
#...
..#T
4
1 1 3
1 3 5
3 2 1
2 3 1

Ukázkový výstup 1

Yes

Například může dosáhnout cílového bodu takto:

- Použijte lék 1. Energie se stává 3.
- Přejděte na (1, 2). Energie se stává 2.
- Přejděte na (1, 3). Energie se stává 1.
- Použijte lék 2. Energie se stává 5.
- Přejděte na (2, 3). Energie se stává 4.
- Přejděte na (3, 3). Energie se stává 3.
- Přejděte na (3, 4). Energie se stává 2.
- Přejděte na (4, 4). Energie se stává 1.

Po cestě je také lék na (2, 3), ale jeho použití mu zabrání v dosažení cíle.

Ukázkový vstup 2

2 2
S.
T.
1
1 2 4

Ukázkový výstup 2

No

Takahashi se nemůže pohnout z výchozího bodu.

Ukázkový vstup 3

4 5
..#..
.S##.
.##T.
.....
3
3 1 5
1 2 3
2 2 1

Ukázkový výstup 3

Yes

Je 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. Stav každé buňky je reprezentován znakem A_{i,j}, což znamená následující:

- .: Prázdná buňka.
- #: překážka.
- S: Prázdná buňka a výchozí bod.
- T: prázdná buňka a cílový bod.

Takahaši se může přesunout ze své aktuální buňky do vertikálně nebo horizontálně sousedící prázdné buňky spotřebováním 1 energie. Nemůže se přesunout, pokud má energii 0, ani nemůže opustit mřížku.
V mřížce je N léků. I-tý lék se nachází v prázdném políčku (R_i, C_i) a může být použit k nastavení energie na E_i. Všimněte si, že energie se nemusí nutně zvyšovat. Může použít lék ve své aktuální buňce. Použitý lék zmizí.
Takahaši začíná ve výchozím bodě s energií 0 a chce dosáhnout cílového bodu. Určete, zda je to možné.

Vstupní údaje

Vstup je zadán ze standardního vstupu v následujícím formátu:
H W
A_{1, 1}A_{1, 2}\cdotsA_{1, W}
A_{2, 1}A_{2, 2}\cdotsA_{2, W}
\vdots
A_{H, 1}A_{H, 2}\cdotsA_{H, W}
N
R_1 C_1 E_1
R_2 C_2 E_2
\vdots
R_N C_N E_N

Výstup

Pokud Takahashi může dosáhnout cílového bodu z výchozího bodu, vypište Ano; v opačném případě vypište Ne.

Omezení

- 1 \leq H, W \leq 200
- A_{i, j} je jedno z ., #, S a T.
- Každé z S a T existuje v A_{i, j} právě jednou.
- 1 \leq N \leq 300
- 1 \leq R_i \leq H
- 1 \leq C_i \leq W
- (R_i, C_i) \neq (R_j, C_j), jestliže i \neq j.
- A_{R_i, C_i} není #.
- 1 \leq E_i \leq HW

Ukázkový vstup 1

4 4
S...
#..#
#...
..#T
4
1 1 3
1 3 5
3 2 1
2 3 1

Ukázkový výstup 1

Yes

Například může dosáhnout cílového bodu následujícím způsobem:

- Použijte lék 1. Energie se stává 3.
- Přesuňte se na (1, 2). Energie se stane 2.
- Přesuňte se na (1, 3). Energie se změní na 1.
- Použijte lék 2. Energie se změní na 5.
- Přesuňte se na (2, 3). Energie se změní na 4.
- Přesuňte se na (3, 3). Energie se změní na 3.
- Přesuňte se na (3, 4). Energie se změní na 2.
- Přesuňte se na (4, 4). Energie se změní na 1.

Na (2, 3) se po cestě nachází také lék, ale jeho použití mu zabrání v dosažení cíle.

Ukázkový vstup 2

2 2
S.
T.
1
1 2 4

Ukázkový výstup 2

No

Takahashi se nemůže pohnout z výchozího bodu.

Ukázkový vstup 3

4 5
..#..
.S##.
.##T.
.....
3
3 1 5
1 2 3
2 2 1

Ukázkový výstup 3

Yes


Máte daný strom s \(N\) vrcholy. Vrcholy jsou očíslovány od 1 do \(N\) a i-tá hrana spojuje vrcholy \(A_i\) a \(B_i\).
Dále máte danou posloupnost kladných celých čísel \(C = (C_1, C_2, \ldots, C_N)\) délky \(N\). Nechť \(d(a, b)\) je počet hran mezi vrcholy \(a\) a \(b\) a pro \(x = 1, 2, \ldots, N\) nechť \displaystyle f(x) = \sum_{i=1}^{N} (C_i \times d(x, i)). Najděte \displaystyle \min_{1 \leq v \leq N} f(v).

Vstup

Vstup je dán ze standardního vstupu následujícím formátem:
\(N\)
\(A_1 B_1\)
\(A_2 B_2\)
\vdots
\(A_{N - 1} B_{N - 1}\)
\(C_1 C_2 \cdots C_N\)

Výstup

Vytiskněte odpověď na jeden řádek.

Omezení

- \(1 \leq N \leq 10^5\)
- \(1 \leq A_i, B_i \leq N\)
- Daný graf je strom.
- \(1 \leq C_i \leq 10^9\)

Ukázkový vstup 1

4
1 2
1 3
2 4
1 1 1 2

Ukázkový výstup 1

5

Například, uvažujme výpočet \(f(1)\). Máme \(d(1, 1) = 0\), \(d(1, 2) = 1\), \(d(1, 3) = 1\), \(d(1, 4) = 2\).
Tedy \(f(1) = 0 \times 1 + 1 \times 1 + 1 \times 1 + 2 \times 2 = 6\).
Podobně, \(f(2) = 5\), \(f(3) = 9\), \(f(4) = 6\). Protože \(f(2)\) je minimum, vytiskněte 5.

Ukázkový vstup 2

2
2 1
1 1000000000

Ukázkový výstup 2

1

\(f(2) = 1\), což je minimum.

Ukázkový vstup 3

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

Ukázkový výstup 3

56

Je dán strom s N vrcholy. Vrcholy jsou očíslovány 1 až N a i-th hrana spojuje vrcholy A_i a B_i.
Dále je dána posloupnost kladných celých čísel C = (C_1, C_2, \ldots ,C_N) délky N. Nechť d(a, b) je počet hran mezi vrcholy a a b a pro x = 1, 2, \ldots, N nechť \displaystyle f(x) = \sum_{i=1}^{N} (C_i \krát d(x, i)). Najděte \displaystyle \min_{1 \leq v \leq N} f(v).

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 - 1} B_{N - 1}
C_1 C_2 \cdots C_N

Výstup

Vypište odpověď na jeden řádek.

Omezení

- 1 \leq N \leq 10^5
- 1 \leq A_i, B_i \leq N
- Zadaný graf je strom.
- 1 \leq C_i \leq 10^9

Vzorový vstup 1

4
1 2
1 3
2 4
1 1 1 2

Ukázka výstupu 1

5

Uvažujme například výpočet f(1). Máme d(1, 1) = 0, d(1, 2) = 1, d(1, 3) = 1, d(1, 4) = 2.
Tedy f(1) = 0 \krát 1 + 1 \krát 1 + 1 \krát 1 + 2 \krát 2 = 6.
Podobně f(2) = 5, f(3) = 9, f(4) = 6. Protože f(2) je minimum, vypište 5.

Ukázkový vstup 2

2
2 1
1 1000000000

Ukázkový výstup 2

1

f(2) = 1, což je minimum.

Vzorový vstup 3

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

Ukázka výstupu 3

56

Dostanete strom s N vrcholy. Vrcholy jsou očíslovány od 1 do N a i-tá hrana spojuje vrcholy A_i a B_i.
Je vám také dána posloupnost kladných celých čísel C = (C_1, C_2, \ldots ,C_N) délky N. Nechť d(a, b) je počet hran mezi vrcholy a a b a pro x = 1, 2 , \ldots, N, nechť \displaystyle f(x) = \sum_{i=1}^{N} (C_i \times d(x, i)). Najděte \displaystyle \min_{1 \leq v \leq N} f(v).

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 - 1} B_{N - 1}
C_1 C_2 \cdots C_N

Výstup

Vytiskněte odpověď v jednom řádku.

Omezení

- 1 \leq N \leq 10^5
- 1 \leq A_i, B_i \leq N
- Daný graf je strom.
- 1 \leq C_i \leq 10^9

Ukázkový vstup 1

4
1 2
1 3
2 4
1 1 1 2

Ukázkový výstup 1

5

Zvažte například výpočet f(1). Máme d(1, 1) = 0, d(1, 2) = 1, d(1, 3) = 1, d(1, 4) = 2.
Thus, f(1) = 0 \times 1 + 1 \times 1 + 1 \times 1 + 2 \times 2 = 6.
Podobně f(2) = 5, f(3) = 9, f(4) = 6. Protože f(2) je minimum, vytiskněte 5.

Ukázkový vstup 2

2
2 1
1 1000000000

Ukázkový výstup 2

1

f(2) = 1, což je minimum.

Ukázkový vstup 3

7
7 3
25
2 4
3 1
3 6
2 1
2 7 6 9 3 4 6

Ukázkový výstup 3

56


Řetězec T délky 3 skládající se z velkých písmen anglické abecedy je kód letiště pro řetězec S z malých písmen anglické abecedy, pokud a jedině pokud T může být odvozen z S jednou z následujících metod:

- Vezměte subsekvenci délky 3 ze S (ne nutně souvislou) a převeďte ji na velká písmena, aby se vytvořilo T.
- Vezměte subsekvenci délky 2 ze S (ne nutně souvislou), převeďte ji na velká písmena a přidejte X na konec, aby se vytvořilo T.

Mějte dané řetězce S a T, určete, zda T je kódem letiště pro S.

Vstup

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

Výstup

Vytiskněte Yes, pokud T je kódem letiště pro S, a No jinak.

Omezení

- S je řetězec malých písmen anglické abecedy s délkou mezi 3 a 10^5, včetně.
- T je řetězec velkých písmen anglické abecedy s délkou 3.

Příklad vstupu 1

narita
NRT

Příklad výstupu 1

Yes

Subsekvence nrt z narita, když je převedena na velká písmena, tvoří řetězec NRT, což je kód letiště pro narita.

Příklad vstupu 2

losangeles
LAX

Příklad výstupu 2

Yes

Subsekvence la z losangeles, když je převedena na velká písmena a přidá se X, tvoří řetězec LAX, což je kód letiště pro losangeles.

Příklad vstupu 3

snuke
RNG

Příklad výstupu 3

No

Řetězec T délky 3 skládající se z velkých anglických písmen je letištní kód pro řetězec S malých anglických písmen právě tehdy, když T lze odvodit z S jednou z následujících metod:

- Vezměte podsekvenci délky 3 z S (ne nutně sousedící) a převeďte ji na velká písmena do tvaru T.
- Vezměte podposloupnost délky 2 z S (nemusí být nutně souvislá), převeďte ji na velká písmena a na konec připojte X, abyste vytvořili T.

Zadané řetězce S a T určete, zda T je kód letiště pro S.

Vstup

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

Výstup

Vytiskněte Ano, pokud T je kód letiště pro S, a Ne jinak.

Omezení

- S je řetězec malých anglických písmen o délce mezi 3 a 10^5 včetně.
- T je řetězec velkých anglických písmen o délce 3.

Ukázkový vstup 1

narita
NRT

Ukázkový výstup 1

Yes

Podsekvence nrt z narita, když je převedena na velká písmena, tvoří řetězec NRT, což je letištní kód pro narita.

Ukázkový vstup 2

losangeles
LAX

Ukázkový výstup 2

Yes

Podsekvence la losangeles, když je převedena na velká písmena a připojena k X, tvoří řetězec LAX, což je letištní kód pro losangeles.

Ukázkový vstup 3

snuke
RNG

Ukázkový výstup 3

No


Je N lidí označených 1 až N, kteří hráli několik zápasů jeden na jednoho bez remíz. Každý člověk začínal s 0 body. V každém zápase se skóre vítěze zvýšilo o 1 a skóre poraženého snížilo o 1 (skóre může být záporné). Určete konečné skóre osoby N, pokud je konečné skóre osoby i\ (1\leq i\leq N-1) A_i. Lze ukázat, že konečné skóre osoby N je jednoznačně určeno bez ohledu na pořadí zápasů.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N
A_1 A_2 \ldots A_{N-1}

Výstup

Vytiskněte odpověď.

Omezení

- 2 \leq N \leq 100
- -100 \leq A_i \leq 100
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

4
1 -2 -1

Ukázkový výstup 1

2

Zde je možné pořadí zápasů, kde konečná skóre osob 1, 2, 3 jsou 1, -2, -1, respektive.

- Na začátku mají osoby 1, 2, 3, 4 skóre 0, 0, 0, 0 bod(ů).
- Osoby 1 a 2 hrají a osoba 1 vyhrává. Hráči mají nyní 1, -1, 0, 0 bod(ů).
- Osoby 1 a 4 hrají a osoba 4 vyhrává. Hráči mají nyní 0, -1, 0, 1 bod(ů).
- Osoby 1 a 2 hrají a osoba 1 vyhrává. Hráči mají nyní 1, -2, 0, 1 bod(ů).
- Osoby 2 a 3 hrají a osoba 2 vyhrává. Hráči mají nyní 1, -1, -1, 1 bod(ů).
- Osoby 2 a 4 hrají a osoba 4 vyhrává. Hráči mají nyní 1, -2, -1, 2 bod(ů).

V tomto případě je konečné skóre osoby 4 rovno 2. Existují i jiná možná pořadí zápasů, ale skóre osoby 4 bude vždy 2 bez ohledu na jejich průběh.

Ukázkový vstup 2

3
0 0

Ukázkový výstup 2

0

Ukázkový vstup 3

6
10 20 30 40 50

Ukázkový výstup 3

-150

Existuje N lidí označených 1 až N, kteří hráli několik her jeden na jednoho bez remíz. Zpočátku každý začínal s 0 body. V každé hře se skóre vítěze zvýšilo o 1 a skóre poraženého se snížilo o 1 (skóre se může stát záporným). Určete konečné skóre osoby N, pokud konečné skóre osoby i\ (1\leq i\leq N-1) je A_i. Lze ukázat, že konečné skóre osoby N je jednoznačně určeno bez ohledu na pořadí her.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
A_1 A_2 \ldots A_{N-1}

Výstup

Vytiskněte odpověď.

Omezení

- 2 \leq N \leq 100
- -100 \leq A_i \leq 100
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

4
1-2-1

Ukázkový výstup 1

2

Zde je jedna možná sekvence her, kde konečné skóre osob 1, 2, 3 je 1, -2, -1, v tomto pořadí.

- Osoby 1, 2, 3, 4 mají zpočátku 0, 0, 0, 0 bodů.
- Osoby 1 a 2 hrají a osoba 1 vyhrává. Hráči mají nyní 1, -1, 0, 0 bodu(ů).
- Hrají osoby 1 a 4 a vyhrává osoba 4. Hráči mají nyní 0, -1, 0, 1 bod(y).
- Osoby 1 a 2 hrají a osoba 1 vyhrává. Hráči mají nyní 1, -2, 0, 1 bod(y).
- Osoby 2 a 3 hrají a osoba 2 vyhrává. Hráči mají nyní 1, -1, -1, 1 bod(y).
- Hrají osoby 2 a 4 a vyhrává osoba 4. Hráči mají nyní 1, -2, -1, 2 body.

V tomto případě je konečné skóre osoby 4 2. Existují i další možné sekvence her, ale skóre osoby 4 bude vždy 2 bez ohledu na postup.

Ukázkový vstup 2

3
0 0

Ukázkový výstup 2

0

Ukázkový vstup 3

6
10 20 30 40 50

Ukázkový výstup 3

-150

Existuje N lidí označených 1 až N, kteří odehráli několik zápasů jeden na jednoho bez remízy. Zpočátku každý člověk začínal s 0 body. V každé hře se skóre vítěze zvýšilo o 1 a skóre poraženého se snížilo o 1 (skóre může být záporné). Určete konečné skóre osoby N, pokud je konečné skóre osoby i (1\leq i\leq N-1) A_i. Lze ukázat, že konečné skóre osoby N je jednoznačně určeno bez ohledu na pořadí her.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N
A_1 A_2 \ldots A_{N-1}

Výstup

Vytiskněte odpověď.

Omezení

- 2 \leq N \leq 100
- -100 \leq A_i \leq 100
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

4
1 -2 -1

Ukázkový výstup 1

2

Zde je jedna z možných sekvencí her, kde konečné skóre osob 1, 2, 3 je 1, -2, -1, resp.

- Zpočátku mají osoby 1, 2, 3, 4 0, 0, 0, 0 body, v tomto pořadí.
- Hrají osoby 1 a 2 a osoba 1 vyhrává. Hráči mají nyní 1, -1, 0, 0 bodů.
- Osoby 1 a 4 hrají a osoba 4 vyhrává. Hráči mají nyní 0, -1, 0, 1 bod(y).
- Hrají osoby 1 a 2 a osoba 1 vyhrává. Hráči mají nyní 1, -2, 0, 1 bod(y).
- Osoby 2 a 3 hrají a osoba 2 vyhrává. Hráči mají nyní 1, -1, -1, 1 bod(y).
- Osoby 2 a 4 hrají a osoba 4 vyhrává. Hráči mají nyní 1, -2, -1, 2 body.

V tomto případě je konečné skóre osoby 4 2. Existují i jiné možné sekvence her, ale skóre osoby 4 bude vždy 2 bez ohledu na postup.

Vzorkovací vstup 2

3
0 0

Ukázkový výstup 2

0

Vzorkovací vstup 3

6
10 20 30 40 50

Ukázkový výstup 3

-150


Řetězec S, skládající se z malých písmen anglické abecedy, je dobrý řetězec, pokud a jen pokud splňuje následující vlastnost pro všechna celá čísla i, která nejsou menší než 1:

- Existují přesně nula nebo přesně dvě různá písmena, která se vyskytují přesně i-krát v S.

Je-li dán řetězec S, určete, zda je to dobrý řetězec.

Vstup

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

Výstup

Vytiskněte Yes, pokud je S dobrý řetězec, a No jinak.

Omezení

- S je řetězec malých písmen anglické abecedy s délkou od 1 do 100 včetně.

Ukázkový vstup 1

commencement

Ukázkový výstup 1

Yes

Pro řetězec commencement je počet různých písmen, která se vyskytují přesně i-krát, následující:

- i=1: dvě písmena (o a t)
- i=2: dvě písmena (c a n)
- i=3: dvě písmena (e a m)
- i\geq 4: nula písmen

Proto commencement splňuje podmínku dobrého řetězce.

Ukázkový vstup 2

banana

Ukázkový výstup 2

No

Pro řetězec banana existuje pouze jedno písmeno, které se vyskytuje přesně jednou, což je b, takže nesplňuje podmínku dobrého řetězce.

Ukázkový vstup 3

ab

Ukázkový výstup 3

Yes

Řetězec S složený z malých anglických písmen je dobrý řetězec tehdy a jen tehdy, pokud splňuje následující vlastnost pro všechna celá čísla i ne menší než 1:

- V řetězci S se vyskytuje přesně nula nebo přesně dvě různá písmena, která se v něm vyskytují přesně ikrát.

Je dán řetězec S a určete, zda je to dobrý řetězec.

Vstup

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

Výstup

Vypište Ano, pokud je S dobrý řetězec, a Ne v opačném případě.

Omezení

- S je řetězec malých anglických písmen o délce mezi 1 a 100 včetně.

Ukázkový vstup 1

commencement

Ukázkový výstup 1

Yes

Pro řetězec commencement je počet různých písmen, která se objeví přesně ikrát, následující:

- i=1: dvě písmena (o a t)
- i=2: dvě písmena (c a n)
- i=3: dvě písmena (e a m)
- i\geq 4: nula písmen

Řetězec 'commencement' tedy splňuje podmínku dobrého ŏetězce.

Ukázkový vstup 2

banana

Ukázkový výstup 2

No

V řetězci banana se vyskytuje pouze jedno písmeno, a to přesně jednou, tedy b, takže nesplňuje podmínku dobrého řetězce.

Ukázkový vstup 3

ab

Ukázkový výstup 3

Yes

Řetězec S složený z malých anglických písmen je dobrý řetězec tehdy a jen tehdy, pokud splňuje následující vlastnost pro všechna celá čísla i ne menší než 1:

- V řetězci S se vyskytuje přesně nula nebo přesně dvě různá písmena, která se v něm vyskytují přesně ikrát.

Je dán řetězec S a určete, zda je to dobrý řetězec.

Vstup

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

Výstup

Vypište Ano, pokud je S dobrý řetězec, a Ne v opačném případě.

Omezení

- S je řetězec malých anglických písmen o délce mezi 1 a 100 včetně.

Ukázka Vstup 1

commencement

Ukázkový výstup 1

Yes

Pro řetězec begincement je počet různých písmen, která se objeví přesně ikrát, následující:

- i=1: dvě písmena (o a t)
- i=2: dvě písmena (c a n)
- i=3: dvě písmena (e a m)
- i\geq 4: nula písmen

Začátek tedy splňuje podmínku dobrého řetězce.

Vzorový vstup 2

banana

Ukázka výstupu 2

No

V řetězci banán se vyskytuje pouze jedno písmeno, a to přesně jednou, tedy b, takže nesplňuje podmínku dobrého řetězce.

Vzorový vstup 3

ab

Ukázkový výstup 3

Yes


Pro nezáporná celá čísla l a r (l < r) označme S(l, r) posloupnost (l, l+1, \ldots, r-2, r-1) vytvořenou seřazením celých čísel od l po r-1. Dále se posloupnost nazývá dobrá posloupnost tehdy a jen tehdy, když ji lze znázornit jako S(2^i j, 2^i (j+1)) pomocí nezáporných celých čísel i a j.
Jsou dána nezáporná celá čísla L a R (L < R). Rozdělte posloupnost S(L, R) na co nejmenší počet dobrých posloupností a vypište tento počet posloupností a dělení. Formálněji řečeno, najděte minimální kladné celé číslo M, pro které existuje posloupnost dvojic nezáporných celých čísel (l_1, r_1), (l_2, r_2), \ldots, (l_M, r_M), která splňuje následující podmínky, a vypište takové (l_1, r_1), (l_2, r_2), \ldots, (l_M, r_M).

- L = l_1 < r_1 = l_2 < r_2 = \cdots = l_M < r_M = R
- S(l_1, r_1), S(l_2, r_2), \ldots, S(l_M, r_M) jsou dobré posloupnosti.

Lze ukázat, že existuje pouze jedno rozdělení, které minimalizuje M.

Vstup

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

Výstup

Vypište odpověď v následujícím formátu:
M
l_1 r_1
\vdots
l_M r_M

Všimněte si, že dvojice (l_1, r_1), \dots, (l_M, r_M) by měly být vytištěny ve vzestupném pořadí.

Omezení

- 0 \leq L < R \leq 2^{60}
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 19

Ukázkový výstup 1

5
3 4
4 8
8 16
16 18
18 19

S(3,19)=(3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18) lze rozdělit na následujících pět dobrých posloupností, což je minimální možný počet:

 - S(3,4)=S(2^0\cdot 3,2^0\cdot4)=(3)
- S(4,8)=S(2^2\cdot 1,2^2\cdot 2)=(4,5,6,7)
- S(8,16)=S(2^3\cdot 1,2^3\cdot 2)=(8,9,10,11,12,13,14,15)
- S(16,18)=S(2^1\cdot 8,2^1\cdot 9)=(16,17)
- S(18,19)=S(2^0\cdot 18,2^0\cdot 19)=(18)

Vzorový vstup 2

0 1024

Ukázkový výstup 2

1
0 1024

Vzorový vstup 3

3940649673945088 11549545024454656

Ukázka výstupu 3

8
3940649673945088 3940649673949184
3940649673949184 4503599627370496
4503599627370496 9007199254740992
9007199254740992 11258999068426240
11258999068426240 11540474045136896
11540474045136896 11549270138159104
11549270138159104 11549545016066048
11549545016066048 11549545024454656

Pro nezáporná celá čísla l a r (l < r) označme S(l, r) posloupnost (l, l+1, \ldots, r-2, r-1) vytvořenou uspořádáním celých čísel od l do r -1 v pořadí. Kromě toho se posloupnost nazývá dobrá posloupnost tehdy a pouze tehdy, pokud ji lze reprezentovat jako S(2^i j, 2^i (j+1)) pomocí nezáporných celých čísel i a j.
Jsou vám dána nezáporná celá čísla L a R (L < R). Rozdělte sekvenci S(L, R) na nejmenší počet dobrých sekvencí a vytiskněte tento počet sekvencí a dělení. Formálněji najděte minimální kladné celé číslo M, pro které existuje posloupnost párů nezáporných celých čísel (l_1, r_1), (l_2, r_2), \ldots, (l_M, r_M), která splňuje následující, a vytiskněte takové (l_1, r_1), (l_2, r_2), \ldots, (l_M, r_M).

- L = l_1 < r_1 = l_2 < r_2 = \cdots = l_M < r_M = R
- S(l_1, r_1), S(l_2, r_2), \ldots, S(l_M, r_M) jsou dobré posloupnosti.

Lze ukázat, že existuje pouze jedno dělení, které minimalizuje M.

Vstup

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

Výstup

Vytiskněte odpověď v následujícím formátu:
M
l_1 r_1
\vtečky
l_M r_M

Všimněte si, že dvojice (l_1, r_1), \dots, (l_M, r_M) by měly být vytištěny ve vzestupném pořadí.

Omezení

- 0 \leq L < R \leq 2^{60}
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 19

Ukázkový výstup 1

5
3 4
48
8 16
16 18
18 19

S(3,19)=(3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18) lze rozdělit do následujících pěti dobrých sekvencí, což je minimální možný počet:

- S(3,4)=S(2^0\cdot 3,2^0\cdot4)=(3)
- S(4,8)=S(2^2\cdot 1,2^2\cdot 2)=(4,5,6,7)
- S(8,16)=S(2^3\cdot 1,2^3\cdot 2)=(8,9,10,11,12,13,14,15)
- S(16,18)=S(2^1\cdot 8,2^1\cdot 9)=(16,17)
- S(18,19)=S(2^0\cdot 18,2^0\cdot 19)=(18)

Ukázkový vstup 2

0 1024

Ukázkový výstup 2

1
0 1024

Ukázkový vstup 3

3940649673945088 11549545024454656

Ukázkový výstup 3

8
3940649673945088 3940649673949184
3940649673949184 4503599627370496
4503599627370496 9007199254740992
9007199254740992 11258999068426240
11258999068426240 11540474045136896
11540474045136896 11549270138159104
11549270138159104 11549545016066048
11549545016066048 11549545024454656

Pro nezáporná celá čísla l a r (l < r) označme S(l, r) posloupnost (l, l+1, \ldots, r-2, r-1) vytvořenou seřazením celých čísel od l po r-1. Dále se posloupnost nazývá dobrá posloupnost tehdy a jen tehdy, když ji lze znázornit jako S(2^i j, 2^i (j+1)) pomocí nezáporných celých čísel i a j.
Jsou dána nezáporná celá čísla L a R (L < R). Rozdělte posloupnost S(L, R) na co nejmenší počet dobrých posloupností a vypište tento počet posloupností a dělení. Formálněji řečeno, najděte minimální kladné celé číslo M, pro které existuje posloupnost dvojic nezáporných celých čísel (l_1, r_1), (l_2, r_2), \ldots, (l_M, r_M), která splňuje následující podmínky, a vypište takové (l_1, r_1), (l_2, r_2), \ldots, (l_M, r_M).

- L = l_1 < r_1 = l_2 < r_2 = \cdots = l_M < r_M = R
- S(l_1, r_1), S(l_2, r_2), \ldots, S(l_M, r_M) jsou dobré posloupnosti.

Lze ukázat, že existuje pouze jedno rozdělení, které minimalizuje M.

Vstup

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

Výstup

Print the answer in the following format:
M
l_1 r_1
\vdots
l_M r_M

Všimněte si, že dvojice (l_1, r_1), \dots, (l_M, r_M) by měly být vytištěny ve vzestupném pořadí.

Omezení

- 0 \leq L < R \leq 2^{60}
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 19

Ukázkový výstup 1

5
3 4
4 8
8 16
16 18
18 19

S(3,19)=(3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18) lze rozdělit na následujících pět dobrých posloupností, což je minimální možný počet:

- S(3,4)=S(2^0\cdot 3,2^0\cdot4)=(3)
- S(4,8)=S(2^2\cdot 1,2^2\cdot 2)=(4,5,6,7)
- S(8,16)=S(2^3\cdot 1,2^3\cdot 2)=(8,9,10,11,12,13,14,15)
- S(16,18)=S(2^1\cdot 8,2^1\cdot 9)=(16,17)
- S(18,19)=S(2^0\cdot 18,2^0\cdot 19)=(18)

Vzorový vstup 2

0 1024

Ukázkový výstup 2

1
0 1024

Vzorový vstup 3

3940649673945088 11549545024454656

Ukázka výstupu 3

8
3940649673945088 3940649673949184
3940649673949184 4503599627370496
4503599627370496 9007199254740992
9007199254740992 11258999068426240
11258999068426240 11540474045136896
11540474045136896 11549270138159104
11549270138159104 11549545016066048
11549545016066048 11549545024454656


K dispozici je mřížka 3 \krát 3. Nechť (i, j) označuje buňku v i-tém řádku shora a j-tém sloupci zleva (1 \leq i, j \leq 3). Buňka (i, j) obsahuje celé číslo A_{i,j}. Je zaručeno, že \sum_{i=1}^3 \sum_{j=1}^3 A_{i,j} je liché. Navíc jsou všechny buňky zpočátku vybarveny bíle.
Takahaši a Aoki budou hrát hru s touto mřížkou. Takahaši jde první a střídají se v provádění následujících operací:

- Vyberou si buňku (i, j) (1\leq i, j \leq 3), která je stále ještě zbarvena bíle (lze ukázat, že taková buňka v době operace vždy existuje). Hráč, který operaci provede, získá A_{i,j} bodů. Pak, pokud je hráčem Takahaši, vybarví buňku (i, j) červeně; pokud je hráčem Aoki, vybarví ji modře.

Po každé operaci se provedou následující kontroly:

- Zkontroluje se, zda jsou v libovolném řádku, sloupci nebo diagonále tři po sobě jdoucí políčka vybarvená stejnou barvou (červeně nebo modře). Pokud taková posloupnost existuje, hra okamžitě končí a vyhrává hráč, jehož barva tuto posloupnost tvoří.
- Zkontrolujte, zda zbývají bílá políčka. Pokud nezbývají žádná bílá políčka, hra končí a vyhrává hráč s vyšším celkovým skóre.

Lze ukázat, že hra vždy skončí po konečném počtu tahů a vyhraje buď Takahaši, nebo Aoki. Určete, který hráč vyhraje, pokud oba hrají optimálně na vítězství.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
A_{1,1} A_{1,2} A_{1,3}.
A_{2,1} A_{2,2} A_{2,3}
A_{3,1} A_{3,2} A_{3,3}

Výstup

Pokud vyhraje Takahaši, vypiš Takahaši; pokud vyhraje Aoki, vypiš Aoki.

Omezení

- |A_{i,j}| \leq 10^9
- \sum_{i=1}^3 \sum_{j=1}^3 A_{i,j} je liché.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázka vstupu 1

0 0 0
0 1 0
0 0 0

Ukázka výstupu 1

Takahaši

Pokud Takahaši ve svém prvním tahu vybere políčko (2,2), bez ohledu na to, jak Aoki hraje poté, může Takahaši vždy jednat tak, aby zabránil třem po sobě jdoucím modrým políčkům. Pokud vzniknou tři po sobě jdoucí červená políčka, Takahaši vyhrává. Pokud hra skončí bez tří po sobě jdoucích červených políček, získal v tomto okamžiku Takahaši 1 bod a Aoki 0 bodů, takže Takahaši vyhrává tak jako tak.

Vzorový vstup 2

-1 1 0
-4 -2 -5
-4 -1 -5

Vzorový výstup 2

Aoki

K dispozici je mřížka 3 \krát 3. Nechť (i, j) označuje buňku v i-tém řádku shora a j-tý sloupec zleva (1 \leq i, j \leq 3). Buňka (i, j) obsahuje celé číslo A_{i,j}. Je zaručeno, že \sum_{i=1}^3 \sum_{j=1}^3 A_{i,j} je liché. Navíc jsou všechny buňky zpočátku natřeny bílou barvou.
Takahashi a Aoki budou hrát hru pomocí této mřížky. Takahashi jde první a střídají se v provádění následující operace:

- Vyberte buňku (i, j) (1\leq i, j \leq 3), která je ještě natřená bílou barvou (lze ukázat, že taková buňka v době operace vždy existuje). Hráč provádějící operaci získá A_{i,j} bodů. Pak, pokud je hráčem Takahashi, vybarví buňku (i, j) červeně; pokud je hráčem Aoki, nabarví jej na modro.

Po každé operaci se provádějí následující kontroly:

- Zkontrolujte, zda jsou v některém řádku, sloupci nebo diagonále tři po sobě jdoucí buňky vybarvené stejnou barvou (červenou nebo modrou). Pokud taková sekvence existuje, hra okamžitě končí a vyhrává hráč, jehož barva tvoří sekvenci.
- Zkontrolujte, zda zbývají bílé krvinky. Pokud nezůstanou žádné bílé buňky, hra končí a vyhrává hráč s vyšším celkovým skóre.

Dá se ukázat, že hra vždy skončí po konečném počtu tahů a vyhraje buď Takahashi nebo Aoki. Určete, který hráč vyhraje, pokud oba hrají optimálně na vítězství.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
A_{1,1} A_{1,2} A_{1,3}
A_{2,1} A_{2,2} A_{2,3}
A_{3,1} A_{3,2} A_{3,3}

Výstup

Pokud Takahashi vyhraje, vytiskněte Takahashi; pokud Aoki vyhraje, vytiskněte Aoki.

Omezení

- |A_{i,j}| \leq 10^9
- \sum_{i=1}^3 \sum_{j=1}^3 A_{i,j} je liché.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

0 0 0
0 1 0
0 0 0

Ukázkový výstup 1

Takahashi

Pokud Takahashi zvolí buňku (2,2) ve svém prvním tahu, bez ohledu na to, jak Aoki hraje poté, může Takahashi vždy jednat, aby zabránil třem po sobě jdoucím modrým buňkám. Pokud se vytvoří tři po sobě jdoucí červené krvinky, vyhrává Takahashi. Pokud hra skončí bez tří po sobě jdoucích červených krvinek, v tomto okamžiku získal Takahashi 1 bod a Aoki 0 bodů, takže Takahashi vyhraje v obou případech.

Ukázkový vstup 2

-110
-4 -2 -5
-4 -1 -5

Ukázkový výstup 2

Aoki

K dispozici je mřížka 3 \krát 3. Nechť (i, j) označuje buňku v i-th řádku shora a j-h sloupci zleva (1 \leq i, j \leq 3). Buňka (i, j) obsahuje celé číslo A_{i,j}. Je zaručeno, že \sum_{i=1}^3 \sum_{j=1}^3 A_{i,j} je liché. Navíc jsou všechny buňky zpočátku vybarveny bíle.
Takahashi a Aoki budou hrát hru s touto mřížkou. Takahaši jde první a střídají se v provádění následujících operací:

- Vyberou si buňku (i, j) (1\leq i, j \leq 3), která je stále ještě zbarvena bíle (lze ukázat, že taková buňka v době operace vždy existuje). Hráč, který operaci provede, získá A_{i,j} bodů. Pak, pokud je hráčem Takahaši, vybarví buňku (i, j) červeně; pokud je hráčem Aoki, vybarví ji modře.

Po každé operaci se provedou následující kontroly:

- Zkontroluje se, zda jsou v libovolném řádku, sloupci nebo diagonále tři po sobě jdoucí políčka vybarvená stejnou barvou (červeně nebo modře). Pokud taková posloupnost existuje, hra okamžitě končí a vyhrává hráč, jehož barva tuto posloupnost tvoří.
- Zkontrolujte, zda zbývají bílá políčka. Pokud nezbývají žádná bílá políčka, hra končí a vyhrává hráč s vyšším celkovým skóre.

Lze ukázat, že hra vždy skončí po konečném počtu tahů a vyhraje buď Takahaši, nebo Aoki. Určete, který hráč vyhraje, pokud oba hrají optimálně na vítězství.

Vstupní údaje

Vstup je zadán ze standardního vstupu v následujícím formátu:
A_{1,1} A_{1,2} A_{1,3}.
A_{2,1} A_{2,2} A_{2,3}
A_{3,1} A_{3,2} A_{3,3}

Výstup

 Pokud vyhraje Takahaši, vytiskněte Takahashi; pokud vyhraje Aoki, vytiskněte Aoki.

Omezení

- |A_{i,j}| \leq 10^9
- \sum_{i=1}^3 \sum_{j=1}^3 A_{i,j} je liché.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázka vstupu 1

0 0 0
0 1 0
0 0 0

Ukázka výstupu 1

Takahashi

Pokud Takahashi ve svém prvním tahu vybere políčko (2,2), bez ohledu na to, jak Aoki hraje poté, může Takahashi vždy jednat tak, aby zabránil třem po sobě jdoucím modrým políčkům. Pokud vzniknou tři po sobě jdoucí červená políčka, Takahashi vyhrává. Pokud hra skončí bez tří po sobě jdoucích červených políček, získal v tu chvíli Takahaši 1 bod a Aoki 0 bodů, takže Takahaši vyhrává tak jako tak.

Vzorový vstup 2

-1 1 0
-4 -2 -5
-4 -1 -5

Ukázka výstupu 2

Aoki


Je dán řetězec S délky 6. Je zaručeno, že první tři znaky řetězce S jsou ABC a poslední tři znaky jsou číslice.
Určete, zda je S zkratkou soutěže, která se konala a byla ukončena na AtCoderu před začátkem této soutěže.
Zde je řetězec T „zkratkou soutěže, která se konala a byla uzavřena na AtCoderu před zahájením této soutěže“ tehdy a jen tehdy, pokud se rovná jednomu z následujících 348 řetězců:
ABC001, ABC002, \ldots, ABC314, ABC315, ABC317, ABC318, \ldots, ABC348, ABC349.
Všimněte si, že ABC316 není zahrnuta.

Vstup

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

Výstup

Pokud je S zkratkou soutěže, která se konala a byla ukončena na AtCoderu před začátkem této soutěže, vypište Yes; v opačném případě vypište No.

Omezení

- S je řetězec délky 6, kde první tři znaky jsou ABC a poslední tři znaky jsou číslice.

Vzorový vstup 1

ABC349

Vzorový výstup 1

Yes

ABC349 je zkratka soutěže, která se konala a byla ukončena na AtCoderu minulý týden.

Vzorový vstup 2

ABC350

Ukázka výstupu 2

No

ABC350 je tato soutěž, která ještě nebyla ukončena.

Vzorový vstup 3

ABC316

Vzorový výstup 3

No

Soutěž ABC316 se na AtCoderu nekonala.

Dostanete řetězec S o délce 6. Je zaručeno, že první tři znaky S jsou ABC a poslední tři znaky jsou číslice.
Určete, zda S je zkratka soutěže konané a uzavřené na AtCoderu před začátkem této soutěže.
Řetězec T je zde „zkratka soutěže konané a uzavřené na AtCoderu před začátkem této soutěže“ tehdy a pouze tehdy, pokud se rovná jednomu z následujících 348 řetězců:
ABC001, ABC002, \ldots, ABC314, ABC315, ABC317, ABC318, \ldots, ABC348, ABC349.
Všimněte si, že ABC316 není součástí dodávky.

Vstup

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

Výstup

Pokud je S zkratka soutěže konané a uzavřené na AtCoderu před zahájením této soutěže, vytiskněte Ano; jinak tisk č.

Omezení

- S je řetězec délky 6, kde první tři znaky jsou ABC a poslední tři znaky jsou číslice.

Ukázkový vstup 1

ABC349

Ukázkový výstup 1

Yes

ABC349 je zkratka soutěže pořádané a uzavřené na AtCoder minulý týden.

Ukázkový vstup 2

ABC350

Ukázkový výstup 2

No

ABC350 je tato soutěž, která ještě neskončila.

Ukázkový vstup 3

ABC316

Ukázkový výstup 3

No

ABC316 nebyl držen na AtCoder.