Probíhá volba k určení vítěze z N kandidátů s čísly kandidátů 1, 2, \ldots, N a bylo odevzdáno M hlasů.
Každý hlas je pro jednoho kandidáta, přičemž i-tý hlas je pro kandidáta A_i.
Hlasy budou počítány v pořadí od prvního do posledního a po každém spočtení se aktuální vítěz upraví a zobrazí.
Kandidát s nejvíce hlasy mezi spočítanými je vítěz. Pokud je více kandidátů s nejvíce hlasy, vítězí ten s nejmenším číslem kandidáta.
Pro každé i = 1, 2, \ldots, M určete vítěze při počítání pouze prvních i hlasů.

Vstup

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

Výstup

Vytiskněte M řádků.
i-tý řádek by měl obsahovat číslo vítězného kandidáta při počítání pouze prvních i hlasů.

Omezení

- 1 \leq N, M \leq 200000
- 1 \leq A_i \leq N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 7
1 2 2 3 1 3 3

Ukázkový výstup 1

1
1
2
2
1
1
3

Nechť C_i označuje počet hlasů pro kandidáta i.

- Po spočítání prvního hlasu, (C_1, C_2, C_3) = (1, 0, 0), takže vítěz je 1.
- Po spočítání druhého hlasu, (C_1, C_2, C_3) = (1, 1, 0), takže vítěz je 1.
- Po spočítání třetího hlasu, (C_1, C_2, C_3) = (1, 2, 0), takže vítěz je 2.
- Po spočítání čtvrtého hlasu, (C_1, C_2, C_3) = (1, 2, 1), takže vítěz je 2.
- Po spočítání pátého hlasu, (C_1, C_2, C_3) = (2, 2, 1), takže vítěz je 1.
- Po spočítání šestého hlasu, (C_1, C_2, C_3) = (2, 2, 2), takže vítěz je 1.
- Po spočítání sedmého hlasu, (C_1, C_2, C_3) = (2, 2, 3), takže vítěz je 3.

Ukázkový vstup 2

100 5
100 90 80 70 60

Ukázkový výstup 2

100
90
80
70
60

Ukázkový vstup 3

9 8
8 8 2 2 8 8 2 2

Ukázkový výstup 3

8
8
8
2
8
8
8
2

Probíhají volby, ve kterých se vybírá jeden vítěz z N kandidátů s čísly 1, 2, \ldots, N, a bylo odevzdáno M hlasů.
Každý hlas je přesně pro jednoho kandidáta, přičemž i-tý hlas je pro kandidáta A_i.
Hlasy se počítají v pořadí od prvního k poslednímu a po sečtení každého hlasu se aktualizuje a zobrazí aktuální vítěz.
Kandidát s největším počtem hlasů ze všech sečtených hlasů je vítězem. Pokud je kandidátů s nejvíce hlasy více, vítězem je ten s nejmenším počtem hlasů.
Pro každé i = 1, 2, \ldots, M určete vítěze při započítání pouze prvních i hlasů.

Vstup

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

Výstup

Vypíše M řádků.
Na i-tém řádku by mělo být číslo vítězného kandidáta, pokud se počítá pouze prvních i hlasů.

Omezení

- 1 \leq N, M \leq 200000
- 1 \leq A_i \leq N
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

3 7
1 2 2 3 1 3 3

Ukázkový výstup 1

1
1
2
2
1
1
3

Označme C_i počet hlasů pro kandidáta i.

- Po sečtení prvního hlasu je (C_1, C_2, C_3) = (1, 0, 0), takže vítězem je 1.
- Po sečtení druhého hlasu je (C_1, C_2, C_3) = (1, 1, 0), takže vítězem je 1.
- Po sečtení třetího hlasu je (C_1, C_2, C_3) = (1, 2, 0), takže vítězem je 2.
- Po sečtení čtvrtého hlasu je (C_1, C_2, C_3) = (1, 2, 1), takže vítězem je 2.
- Po sečtení pátého hlasu je (C_1, C_2, C_3) = (2, 2, 1), takže vítězem je 1.
- Po sečtení šestého hlasu je (C_1, C_2, C_3) = (2, 2, 2), takže vítězem je 1.
- Po sečtení sedmého hlasu je (C_1, C_2, C_3) = (2, 2, 3), takže vítězem je 3.

Vzorový vstup 2

100 5
100 90 80 70 60

Vzorový výstup 2

100
90
80
70
60

Vzorový vstup 3

9 8
8 8 2 2 8 8 2 2

Výstupní vzorek 3

8
8
8
2
8
8
8
2


Jsou vám dány dva řetězce: S, který se skládá z velkých anglických písmen a má délku N, a T, který se také skládá z velkých anglických písmen a má délku M\ (\leq N).
Existuje řetězec X délky N sestávající pouze ze znaku #. Zjistěte, zda je možné dosáhnout toho, aby se X shodovalo s S tím, že několikrát provedete následující operaci:

- Vyberte M po sobě jdoucích znaků v X a nahraďte je T.

Vstup

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

Výstup

Tisknout Ano, pokud je možné, aby X odpovídalo S; tisknout Ne jinak.

Omezení

- 1 \leq N \leq 2\times 10^5
- 1 \leq M \leq \min(N, 5)
- S je řetězec složený z velkých anglických písmen o délce N.
- T je řetězec složený z velkých anglických písmen o délce M.

Ukázkový vstup 1

7 3
ABCBABC
ABC

Ukázkový výstup 1

Yes

Níže nechť X[l:r] označuje část od l-tého po r-tý znak X.
Pomocí následujícího postupu můžete dosáhnout toho, aby X odpovídalo S.

- Nahraďte X[3:5] T. X se změní na ##ABC##.
- Nahraďte X[1:3] T. X se změní na ABCBC##.
- Nahraďte X[5:7] T. X se změní na ABCBABC.

Ukázkový vstup 2

7 3
ABBCABC
ABC

Ukázkový výstup 2

No

Bez ohledu na to, jak pracujete, je nemožné, aby X odpovídalo S.

Ukázkový vstup 3

12 2
XYXXYXXYYYXY
XY

Ukázkový výstup 3

Yes

Jsou vám dány dva řetězce: S, který se skládá z velkých anglických písmen a má délku N, a T, který se také skládá z velkých anglických písmen a má délku M\ (\leq N).
Existuje řetězec X délky N sestávající pouze ze znaku #. Zjistěte, zda je možné, aby se X shodovalo s S tím, že několikrát provedete následující operaci:

- Vyberte M po sobě jdoucích znaků v X a nahraďte je T.

Vstup

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

Výstup

Tisknout Ano, pokud je možné, aby X odpovídalo S; tisknout Ne jinak.

Omezení

- 1 \leq N \leq 2 \krát 10^5
- 1 \leq M \leq \min(N, 5)
- S je řetězec složený z velkých anglických písmen o délce N.
- T je řetězec složený z velkých anglických písmen o délce M.

Ukázkový vstup 1

7 3
ABCBABC
ABC

Ukázkový vstup 1

Yes

Níže nechť X[l:r] označuje část od l-tého po r-tý znak X.
Pomocí následujícího postupu můžete dosáhnout toho, aby X odpovídalo S.

- Nahraďte X[3:5] T. X se změní na ##ABC##.
- Nahraďte X[1:3] T. X se změní na ABCBC##.
- Nahraďte X[5:7] T. X se změní na ABCBABC.

Ukázkový vstup 2

7 3
ABBCABC
ABC

Ukázkový vstup 2

No

Bez ohledu na to, jak pracujete, je nemožné, aby X odpovídalo S.

Ukázkový vstup 3

12 2
XYXXYXXYYYXY
XY

Ukázkový vstup 3

Yes

Máte k dispozici dva řetězce: S, který se skládá z velkých anglických písmen a má délku N, a T, který se rovněž skládá z velkých anglických písmen a má délku M\ (\leq N).
Existuje řetězec X o délce N, který se skládá pouze ze znaku #. Určete, zda je možné, aby se řetězec X shodoval s řetězcem S, provedením následující operace libovolný početkrát:

- Vyberte M po sobě jdoucích znaků v X a nahraďte je znaky T.

Vstup

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

Výstup

Vypište Yes, pokud je možné, aby X odpovídalo S; v opačném případě vypište No.

Omezení

- 1 \leq N \leq 2\ krát 10^5
- 1 \leq M \leq \min(N, 5)
- S je řetězec složený z velkých anglických písmen o délce N.
- T je řetězec složený z velkých anglických písmen o délce M.

Ukázkový vstup 1

7 3
ABCBABC
ABC

Ukázkový výstup 1

Yes

Níže nechť X[l:r] označuje část od l-tého do r-tého znaku X.
Shodu X s S lze zajistit následujícím postupem.

- Nahraďte X[3:5] písmenem T. Z X se stane ##ABC##.
- Nahraďte X[1:3] za T. X se stane ABCBC##.
- Nahraďte X[5:7] za T. X se stane ABCBABC.

Ukázka vstupu 2

7 3
ABBCABC
ABC

Ukázkový výstup 2

No

Ať pracujete jakkoli, není možné, aby X odpovídalo S.

Vzorový vstup 3

12 2
XYXXYXXYYYYXY
XY

Ukázkový výstup 3

Yes


Existuje N boxů očíslovaných 1, 2, \ldots, N. Na začátku box i obsahuje jednu kuličku barvy C_i.
Dostáváte Q dotazů, které byste měli zpracovat v pořadí.
Každý dotaz je dán dvojicí celých čísel (a,b) a požádá vás, abyste provedli následující:

- Přesuňte všechny koule z box a do box b a poté vytiskněte počet kuliček různých barev v poli b.

Zde mohou být políčka a a b prázdná.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu, kde \text{query}_i představuje i-tý dotaz:
N Q
C_1 C_2 \ldots C_N
\text{query}_1
\text{query}_2
\vdots
\text{query}_Q

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

Výstup

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

Omezení

- 1 \ leq N, Q \ leq 200 000
- 1 \leq C_i \leq N
- 1 \leq a, b \leq N
- a \neq b
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

1
2
1
1
3

-
Při prvním dotazu přesuňte všechny koule z box 1 do box 2. Rámeček 2 nyní obsahuje dvě koule barvy 1, vytiskněte tedy 1.

-
U druhého dotazu přesuňte všechny kuličky z box 6 do box 4. Rámeček 4 nyní obsahuje jednu kuličku barvy 2 a jednu kuličku barvy 3, takže vytiskněte 2.

-
U třetího dotazu přesuňte všechny koule z box 5 do box 1. box 1 nyní obsahuje jednu kouli barvy 2, takže vytiskněte 1.

-
U čtvrtého dotazu přesuňte všechny koule z box 3 do box 6. box 6 nyní obsahuje jednu kouli barvy 1, takže vytiskněte 1.

-
Pro pátý dotaz přesuňte všechny koule z box 4 do box 6. Rámeček 6 nyní obsahuje jednu kouli barvy 1, jednu kouli barvy 2 a jednu kouli barvy 3, takže vytiskněte 3.

Ukázkový vstup 2

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

Ukázkový výstup 2

1
2
0

Existuje N políček očíslovaných 1, 2, \ldots, N. Na začátku obsahuje políčko i jednu kuličku barvy C_i.
Dostanete Q dotazů, které byste měli zpracovat v pořadí.
Každý dotaz je zadán dvojicí celých čísel (a,b) a žádá vás o následující:

- Přesuňte všechny kuličky z políčka a do políčka b a poté vypište počet různých barev kuliček v políčku b.

Zde mohou být políčka a a b prázdná.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu, kde \text{query}_i představuje i-tý dotaz:
N Q
\text{query}_1
\text{query}_2
\vdots
\text{query}_Q

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

Výstup

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

Omezení

- 1 \leq N, Q \leq 200000
- 1 \leq C_i \leq N
- 1 \leq a, b \leq N
- a \neq b
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázka výstupu 1

1
2
1
1
3

-
Pro první dotaz přesuňte všechny koule z pole 1 do pole 2. Rámeček 2 nyní obsahuje dvě koule barvy 1, takže vytiskněte 1.

-
Pro druhý dotaz přesuňte všechny koule z pole 6 do pole 4. Rámeček 4 nyní obsahuje jednu kouli barvy 2 a jednu kuličku barvy 3, takže vytiskněte 2.

-
U třetího dotazu přesuňte všechny koule z pole 5 do pole 1. Rámeček 1 nyní obsahuje jednu kuličku barvy 2, takže vytiskněte 1.

-
Pro čtvrtý dotaz přesuňte všechny koule z políčka 3 do pole 6. Rámeček 6 nyní obsahuje jednu kuličku barvy 1, takže vytiskněte 1.

-
Pro pátý dotaz přesuňte všechny koule z pole 4 do pole 6. Rámeček 6 nyní obsahuje jednu kouli barvy 1, jednu kouli barvy 2 a jednu kouli barvy 3, takže vytiskněte 3.

Vzorkovací vstup 2

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

Ukázkový výstup 2

1
2
0

Existuje N boxů očíslovaných 1, 2, \ldots, N. Na začátku box i obsahuje jednu kuličku barvy C_i.
Dostáváte Q dotazů, které byste měli zpracovat v pořadí.
Každý dotaz je dán dvojicí celých čísel (a,b) a požádá vás, abyste provedli následující:

- Přesuňte všechny koule z box a do box b a poté vytiskněte počet kuliček různých barev v poli b.

Zde mohou být políčka a a b prázdná.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu, kde \text{query}_i představuje i-tý dotaz:
N Q
C_1 C_2 \ldots C_N
\text{dotaz}_1
\text{dotaz}_2
\vtečky
\text{query}_Q

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

Výstup

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

Omezení

- 1 \leq N, Q \leq 200 000
- 1 \leq C_i \leq N
- 1 \leq a, b \leq N
- a \neq b
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

1
2
1
1
3

-
Při prvním dotazu přesuňte všechny koule z box 1 do box 2. Rámeček 2 nyní obsahuje dvě koule barvy 1, vytiskněte tedy 1.

-
U druhého dotazu přesuňte všechny kuličky z box 6 do box 4. Rámeček 4 nyní obsahuje jednu kuličku barvy 2 a jednu kuličku barvy 3, takže vytiskněte 2.

-
U třetího dotazu přesuňte všechny koule z box 5 do box 1. Box 1 nyní obsahuje jednu kouli barvy 2, takže vytiskněte 1.

-
U čtvrtého dotazu přesuňte všechny koule z box 3 do box 6. Rámeček 6 nyní obsahuje jednu kouli barvy 1, takže vytiskněte 1.

-
Pro pátý dotaz přesuňte všechny koule z box 4 do box 6. Rámeček 6 nyní obsahuje jednu kouli barvy 1, jednu kouli barvy 2 a jednu kouli barvy 3, takže vytiskněte 3.

Ukázkový vstup 2

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

Ukázkový výstup 2

1
2
0


N osob označených 1,2,\dots,N se zúčastnilo zkoušky a osoba i získala A_i bodů.
Zkoušku složí pouze ti, kteří získali alespoň L bodů.
Určete, kolik osob z N zkoušku složilo.

Vstup

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

Výstup

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

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 100
- 1 \le L \le 1000
- 0 \le A_i \le 1000

Vzorový vstup 1

5 60
60 20 100 90 40

Vzorový výstup 1

3

Zkoušky se zúčastnilo pět osob. Pro úspěšné složení zkoušky je třeba získat alespoň 60 bodů.

- Osoba 1 získala 60 bodů, takže uspěla.
- Osoba 2 získala 20 bodů, takže neprošla.
- Osoba 3 získala 100 bodů, takže uspěla.
- Osoba 4 získala 90 bodů, takže prošla.
- Osoba 5 získala 40 bodů, takže neprošla.

Z výše uvedeného vyplývá, že tři osoby prospěly.

Vzorový vstup 2

4 80
79 78 77 76

Vzorový výstup 2

0

Mohou nastat případy, kdy nikdo neprošel.

Vzorový vstup 3

10 50
31 41 59 26 53 58 97 93 23 84

Vzorový výstup 3

6

N osob označených 1,2,\dots,N se zúčastnilo zkoušky a osoba i získala A_i bodů.
Zkoušku složí pouze ti, kteří získali alespoň L bodů.
Určete, kolik osob z N zkoušku složilo.

Vstup

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

Výstup

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

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 100
- 1 \le L \le 1000
- 0 \le A_i \le 1000

Vzorový vstup 1

5 60
60 20 100 90 40

Výstupní vzorek 1

3

Zkoušky se zúčastnilo pět osob. Pro úspěšné složení zkoušky je třeba získat alespoň 60 bodů.

- Osoba 1 získala 60 bodů, takže uspěla.
- Osoba 2 získala 20 bodů, takže neprošla.
- Osoba 3 získala 100 bodů, takže uspěla.
- Osoba 4 získala 90 bodů, takže prošla.
- Osoba 5 získala 40 bodů, takže neprošla.

Z výše uvedeného vyplývá, že tři osoby prospěly.

Vzorový vstup 2

4 80
79 78 77 76

Vzorový výstup 2

0

Mohou nastat případy, kdy nikdo neprošel.

Vzorový vstup 3

10 50
31 41 59 26 53 58 97 93 23 84

Ukázka výstupu 3

6

N osob označených 1,2,\dots,N složilo zkoušku a osoba i získala A_i bodů.
Pouze ti, kdo získali alespoň L bodů, zkoušku projdou.
Určete, kolik osob z N zkoušku úspěšně složilo.

Vstup

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

Výstup

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

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 100
- 1 \le L \le 1000
- 0 \le A_i \le 1000

Ukázkový vstup 1

5 60
60 20 100 90 40

Ukázkový výstup 1

3

Pět lidí absolvovalo zkoušku. Potřebujete získat alespoň 60 bodů, abyste prošli.

- Osoba 1 získala 60 bodů, takže prošla.
- Osoba 2 získala 20 bodů, takže neprošla.
- Osoba 3 získala 100 bodů, takže prošla.
- Osoba 4 získala 90 bodů, takže prošla.
- Osoba 5 získala 40 bodů, takže neprošla.

Z výše uvedeného vidíme, že tři lidé zkoušku složili.

Ukázkový vstup 2

4 80
79 78 77 76

Ukázkový výstup 2

0

Může se stát, že nikdo neprojde.

Ukázkový vstup 3

10 50
31 41 59 26 53 58 97 93 23 84

Ukázkový výstup 3

6


Je dána celočíselná posloupnost A=(A_1,A_2,\ldots,A_N) délky N a celá čísla L a R taková, že L\leq R.
Pro každé i=1,2,\ldots,N najděte celé číslo X_i, které splňuje obě následující podmínky. Všimněte si, že hledané celé číslo je vždy jednoznačně určeno.

- L\leq X_i \leq R.
- Pro každé celé číslo Y takové, že L \leq Y \leq R, platí, že |X_i - A_i| \leq |Y - A_i|.

Vstup

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

Výstup

Vypište X_i pro i=1,2,\ldots,N, oddělené mezerami.

Omezení

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

Ukázkový vstup 1

5 4 7
3 1 4 9 7

Ukázkový výstup 1

4 4 4 7 7

Pro i=1:

- |4-3|=1
- |5-3|=2
- |6-3|=3
- |7-3|=4

Tedy X_i = 4.

Vzorový vstup 2

3 10 10
11 10 9

Vzorový výstup 2

10 10 10

Je vám dána celočíselná posloupnost A=(A_1,A_2,\ldots,A_N) délky N a celá čísla L a R taková, že L\leq R.
Pro každé i=1,2,\ldots,N najděte celé číslo X_i, které splňuje obě následující podmínky. Všimněte si, že celé číslo, které má být nalezeno, je vždy jednoznačně určeno.

- L\leq X_i \leq R.
- Pro každé celé číslo Y takové, že L \leq Y \leq R platí, že |X_i - A_i| \leq |Y - A_i|.

Vstup

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

Výstup

Tisk X_i pro i=1,2,\ldots,N, oddělené mezerami.

Omezení

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

Ukázkový vstup 1

5 4 7
3 1 4 9 7

Ukázkový výstup 1

4 4 4 7 7

Pro i=1:

- |4-3|=1
- |5-3|=2
- |6-3|=3
- |7-3|=4

Tedy X_i = 4.

Ukázkový vstup 2

3 10 10
11 10 9

Ukázkový výstup 2

10 10 10

Máte danou celočíselnou posloupnost A = (A_1, A_2, \ldots, A_N) délky N a celá čísla L a R taková, že L \leq R. Pro každé i = 1, 2, \ldots, N najděte celé číslo X_i, které splňuje obě následující podmínky. Všimněte si, že hledané celé číslo je vždy jednoznačně určeno.

- L \leq X_i \leq R.
- Pro každé celé číslo Y takové, že L \leq Y \leq R, platí |X_i - A_i| \leq |Y - A_i|.

Vstup

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

Výstup

Vypište X_i pro i=1,2,\ldots,N, oddělené mezerami.

Omezení

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

Ukázkový vstup 1

5 4 7
3 1 4 9 7

Ukázkový výstup 1

4 4 4 7 7

Pro i=1:

- |4-3|=1
- |5-3|=2
- |6-3|=3
- |7-3|=4

Tedy, X_i = 4.

Ukázkový vstup 2

3 10 10
11 10 9

Ukázkový výstup 2

10 10 10


Jste dáni kladné celé číslo D.
Najděte minimální hodnotu |x^2+y^2-D| pro nezáporná celá čísla x a y.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- 1\leq D \leq 2\times 10^{12}
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

21

Ukázkový výstup 1

1

Pro x=4 a y=2 máme |x^2+y^2-D| = |16+4-21|=1.
Neexistují žádná nezáporná celá čísla x a y taková, že |x^2+y^2-D|=0, takže odpověď je 1.

Ukázkový vstup 2

998244353

Ukázkový výstup 2

0

Ukázkový vstup 3

264428617

Ukázkový výstup 3

32

Je vám přiděleno kladné celé číslo D.
Najděte minimální hodnotu |x^2+y^2-D| pro nezáporná celá čísla x a y.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- 1\leq D \leq 2\krát 10^{12}
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

21

Ukázkový výstup 1

1

Pro x=4 a y=2 máme |x^2+y^2-D| = |16+4-21|=1.
Neexistují žádná nezáporná celá čísla x a y taková, že |x^2+y^2-D|=0, takže odpověď je 1.

Ukázkový vstup 2

998244353

Ukázkový výstup 2

0

Ukázkový vstup 3

264428617

Ukázkový výstup 3

32


Je vám dána N \times N mřížka. Nechť (i,j) označuje buňku v i-tém řádku shora a j-tém sloupci zleva.
Stavy buněk jsou dány N řetězci délky N, S_1, S_2, \dots, S_N, v následujícím formátu:

- Pokud je j-tý znak S_i „o“, je v buňce (i,j) napsáno „o“.
- Pokud je j-tý znak S_i „x“, je v buňce (i,j) napsáno „x“.

Najděte počet trojic buněk, které splňují všechny následující podmínky:

- Tři buňky v trojici jsou různé.
- Ve všech třech buňkách je napsáno „o“.
- Přesně dvě buňky jsou ve stejném řádku.
- Přesně dvě buňky jsou ve stejném sloupci.

Zde se dvě trojice považují za různé, pokud a pouze pokud je nějaká buňka obsažena právě v jedné z trojic.

Vstup

Vstup je zadán standardním vstupem v následujícím formátu:
N
S_1
S_2
\vdots
S_N

Výstup

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

Omezení

- N je celé číslo mezi 2 a 2000 včetně.
- S_i je řetězec délky N sestávající z „o“ a „x“.

Vzorový vstup 1

3
ooo
oxx
xxo

Vzorový výstup 1

4

Následující čtyři trojice splňují podmínky:

- (1,1),(1,2),(2,1)
- (1,1),(1,3),(2,1)
- (1,1),(1,3),(3,3)
- (1,2),(1,3),(3,3)

Vzorový vstup 2

4
oxxx
xoxx
xxox
xxxo

Vzorový výstup 2

0

Vzorový vstup 3

15
xooxxooooxxxoox
oxxoxoxxxoxoxxo
oxxoxoxxxoxoxxx
ooooxooooxxoxxx
oxxoxoxxxoxoxxx
oxxoxoxxxoxoxxo
oxxoxooooxxxoox
xxxxxxxxxxxxxxx
xooxxxooxxxooox
oxxoxoxxoxoxxxo
xxxoxxxxoxoxxoo
xooxxxooxxoxoxo
xxxoxxxxoxooxxo
oxxoxoxxoxoxxxo
xooxxxooxxxooox

Vzorový výstup 3

2960

Je vám dána mřížka N krát N. Nechť (i,j) označuje buňku v i-tém řádku shora a j-tý sloupec zleva.
Stavy buněk jsou dány N řetězci o délce N, S_1, S_2, \dots, S_N, a to v následujícím tvaru:

- Pokud je j-tý znak S_i o, je v buňce napsáno o (i,j).
- Pokud je j-tý znak S_i x, je v buňce (i,j) napsáno x.

Zjištění počtu trojic buněk, které splňují všechny následující podmínky:

- Tři buňky v trojici jsou odlišné.
- Všechny tři buňky mají v sobě napsáno o.
- Přesně dvě buňky jsou ve stejném řádku.
- Přesně dvě buňky jsou ve stejném sloupci.

Zde jsou dvě trojice považovány za odlišné tehdy a pouze tehdy, pokud je nějaká buňka obsažena právě v jedné z trojic.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N
S_1
S_2
\vdots
S_N

Výstup

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

Omezení

- N je celé číslo v rozmezí od 2 do 2000 včetně.
- S_i je řetězec délky N skládající se z o a x.

Vzorový vstup 1

3
ooo
oxx
xxo

Ukázkový výstup 1

4

Následující čtyři trojice splňují podmínky:

- (1,1),(1,2),(2,1)
- (1,1),(1,3),(2,1)
- (1,1),(1,3),(3,3)
- (1,2),(1,3),(3,3)

Vzorkovací vstup 2

4
oxxx
xoxx
xxox
xxxo

Ukázkový výstup 2

0

Vzorkovací vstup 3

15
xooxxooooxxxoox
oxxoxoxxxoxoxxo
oxxoxoxxxoxoxxx
oooooxooooxxoxxx
oxxoxoxxxoxoxxx
oxxoxoxxxoxoxxo
oxxoxooooxxxoox
xxxxxxxxxxxxxxx
xooxxxooxxxooox
oxxoxoxxoxoxxxo
xxxoxxxxoxoxxoo
xooxxxooxxoxoxo
xxxoxxxxoxooxxo
oxxoxoxxoxoxxxo
xooxxxooxxxooox

Ukázkový výstup 3

2960

Dostanete N \krát N mřížku. Označme (i,j) buňku v i-tém řádku shora a j-tý sloupec zleva.
Stavy buněk jsou dány N řetězci délky N, S_1, S_2, \dots, S_N v následujícím formátu:

- Je-li j-tý znak S_i o, je v buňce zapsáno o (i,j).
- Je-li j-tý znak S_i x, je v buňce zapsáno x (i,j).

Najděte počet trojic buněk, které splňují všechny následující podmínky:

- Tři buňky v trojici jsou odlišné.
- Všechny tři buňky mají v sobě napsáno o.
- Přesně dvě buňky jsou ve stejném řádku.
- Přesně dvě buňky jsou ve stejném sloupci.

Zde jsou dvě trojice považovány za různé právě tehdy, když je nějaká buňka obsažena právě v jedné z trojic.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
S_1
S_2
\vdots
S_N

Výstup

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

Omezení

- N je celé číslo od 2 do 2000 včetně.
- S_i je řetězec délky N sestávající z o a x.

Ukázkový vstup 1

3
ooo
oxx
xxo

Ukázkový výstup 1

4

Následující čtyři trojice splňují podmínky:

- (1,1), (1,2), (2,1)
- (1,1), (1,3), (2,1)
- (1,1), (1,3), (3,3)
- (1,2), (1,3), (3,3)

Ukázkový vstup 2

4
oxxx
xoxx
xxox
xxxo

Ukázkový výstup 2

0

Ukázkový vstup 3

15
xooxxooooxxxoox
oxxoxoxxxoxoxxo
oxxoxoxxxoxoxxx
ooooxooooxxoxxx
oxxoxoxxxoxoxxx
oxxoxoxxxoxoxxo
oxxoxooooxxxoox
xxxxxxxxxxxxxxx
xooxxxooxxxooox
oxxoxoxxoxoxxxo
xxxoxxxxoxoxxoo
xooxxxooxxoxoxo
xxxoxxxxoxooxxo
oxxoxoxxoxoxxxo
xooxxxooxxxooox

Ukázkový výstup 3

2960


Je dána posloupnost A=(A_1,A_2,\dots,A_N) délky N.
Odpovězte na následujících Q dotazů v pořadí, ve kterém jsou dány.
k-tý dotaz je dán ve formátu:
i_k x_k

- Nejprve změňte A_{i_k} na x_k. Tato změna se přenese do následujících dotazů.
- Poté vytiskněte \rm{mex} z A.
- \rm{mex} z A je nejmenší nezáporné celé číslo, které není obsaženo v A.

Vstup

Vstup je dán ve standardním vstupním formátu:
N Q
A_1 A_2 \dots A_N
i_1 x_1
i_2 x_2
\vdots
i_Q x_Q

Výstup

Vytiskněte Q řádků celkem.
k-tý řádek by měl obsahovat odpověď na k-tý dotaz jako celé číslo.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N,Q \le 2 \times 10^5
- 0 \le A_i \le 10^9
- 1 \le i_k \le N
- 0 \le x_k \le 10^9

Ukázkový vstup 1

8 5
2 0 2 2 1 1 2 5
4 3
4 4
6 3
8 1000000000
2 1

Ukázkový výstup 1

4
3
6
5
0

Na začátku je posloupnost A=(2,0,2,2,1,1,2,5).
Tento vstup vám dává pět dotazů.

- První dotaz změní A_4 na 3, což činí A=(2,0,2,3,1,1,2,5).
- V tomto okamžiku je \rm{mex} z A rovno 4.

- Druhý dotaz změní A_4 na 4, což činí A=(2,0,2,4,1,1,2,5).
- V tomto okamžiku je \rm{mex} z A rovno 3.

- Třetí dotaz změní A_6 na 3, což činí A=(2,0,2,4,1,3,2,5).
- V tomto okamžiku je \rm{mex} z A rovno 6.

- Čtvrtý dotaz změní A_8 na 1000000000, což činí A=(2,0,2,4,1,3,2,1000000000).
- V tomto okamžiku je \rm{mex} z A rovno 5.

- Pátý dotaz změní A_2 na 1, což činí A=(2,1,2,4,1,3,2,1000000000).
- V tomto okamžiku je \rm{mex} z A rovno 0.

Je dána posloupnost A=(A_1,A_2,\dots,A_N) délky N.
Odpovězte na následující dotazy Q v pořadí, v jakém jsou zadány.
K-tý dotaz je zadán v následujícím formátu:
i_k x_k

- Nejprve změňte A_{i_k} na x_k. Tato změna se přenese i do následujících dotazů.
- Potom vypište \rm{mex} z A.
- \rm{mex} z A je nejmenší nezáporné celé číslo, které není obsaženo v A.

Vstup

Vstup je zadáván ze standardního vstupu v následujícím formátu:
N Q
A_1 A_2 \dots A_N
i_1 x_1
i_2 x_2
\vdots
i_Q x_Q

Výstup

Vypište celkem Q řádků.
K-tý řádek by měl obsahovat odpověď na k-tý dotaz jako celé číslo.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N,Q \le 2 \krát 10^5
- 0 \le A_i \le 10^9
- 1 \le i_k \le N
- 0 \le x_k \le 10^9

Vzorový vstup 1

8 5
2 0 2 2 1 1 2 5
4 3
4 4
6 3
8 1000000000
2 1

Ukázka výstupu 1

4
3
6
5
0

Na počátku je posloupnost A (2,0,2,2,1,1,2,5).
Tímto zadáním získáte pět dotazů.

- První dotaz změní A_4 na 3, takže A=(2,0,2,3,1,1,2,5).
- V tomto okamžiku je \rm{mex} A 4.

- Druhý dotaz změní A_4 na 4, takže A=(2,0,2,4,1,1,2,5).
- V tomto okamžiku je \rm{mex} A 3.

- Třetí dotaz změní A_6 na 3, takže A=(2,0,2,4,1,3,2,5).
- V tomto okamžiku je \rm{mex} A 6.

- Čtvrtý dotaz změní A_8 na 1000000000, takže A=(2,0,2,4,1,3,2,1000000000).
- V tomto okamžiku je \rm{mex} A 5.

- Pátý dotaz změní A_2 na 1, takže A=(2,1,2,4,1,3,2,1000000000).
- V tomto okamžiku je \rm{mex} A 0.

Je vám dána posloupnost A=(A_1,A_2,\tečky,A_N) délky N.
Odpovězte na následující Q dotazy v pořadí, v jakém jsou zadány.
K-tý dotaz je zadán v následujícím formátu:
i_k x_k

- Nejprve změňte A_{i_k} na x_k. Tato změna se přenese do následujících dotazů.
- Poté vytiskněte \rm{mex} A.
- \rm{mex} z A je nejmenší nezáporné celé číslo, které není obsaženo v A.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N Q
A_1 A_2 \tečky A_N
i_1 x_1
i_2 x_2
\vdots
i_Q x_Q

Výstup

Celkem vytiskněte Q řádky.
K-tý řádek by měl obsahovat odpověď na k-tý dotaz jako celé číslo.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N,Q \le 2 \times 10^5
- 0 \le A_i \le 10^9
- 1 \le i_k \le N
- 0 \le x_k \le 10^9

Ukázkový vstup 1

8 5
2 0 2 2 1 1 2 5
4 3
4 4
6 3
8 1000000000
2 1

Ukázkový výstup 1

4
3
6
5
0

Zpočátku je sekvence A (2,0,2,2,1,1,2,5).
Tento vstup vám poskytne pět dotazů.

- První dotaz změní A_4 na 3, takže A=(2,0,2,3,1,1,2,5).
- V tomto bodě je \rm{mex} A 4.

- Druhý dotaz změní A_4 na 4, takže A=(2,0,2,4,1,1,2,5).
- V tomto bodě je \rm{mex} z A 3.

- Třetí dotaz změní A_6 na 3, takže A=(2,0,2,4,1,3,2,5).
- V tomto bodě je \rm{mex} A 6.

- Čtvrtý dotaz změní A_8 na 1000000000, takže A=(2,0,2,4,1,3,2,1000000000).
- V tomto bodě je \rm{mex} z A 5.

- Pátý dotaz změní A_2 na 1, takže A=(2,1,2,4,1,3,2,1000000000).
- V tomto bodě je \rm{mex} z A 0.


V kalendáři AtCoder Kingdom se rok skládá z M měsíců od měsíce 1 do měsíce M a každý měsíc se skládá z D dnů ode dne 1 do dne D.
Jaký den následuje po roce y, měsíci m, dni d v tomto kalendáři?

Vstup

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

Výstup

Pokud je den po roce y, měsíc m, den d v kalendáři AtCoder Kingdom rok y', měsíc m', den d', tiskněte y', m' a d' v tomto pořadí, oddělené mezerami.

Omezení

- 1000 \leq y \leq 9000
- 1 \leq m \leq M \leq 99
- 1 \leq d \leq D \leq 99
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

12 30
2023 12 30

Ukázkový výstup 1

2024 1 1

V kalendáři království se rok skládá z 12 měsíců a každý měsíc se skládá z 30 dnů.
Den po roce 2023, měsíc 12, den 30 je tedy rok 2024, měsíc 1, den 1.

Ukázkový vstup 2

36 72
6789 23 45

Ukázkový výstup 2

6789 23 46

V kalendáři království se jeden rok skládá z 36 měsíců a každý měsíc se skládá ze 72 dnů.
Den po roce 6789, měsíc 23, den 45 je tedy rok 6789, měsíc 23, den 46.

Ukázkový vstup 3

12 30
2012 6 20

Ukázkový výstup 3

2012 6 21

V kalendáři Království AtCoder se rok skládá z M měsíců od měsíce 1 do měsíce M a každý měsíc se skládá z D dnů od dne 1 do dne D.
Který den následuje po roce y, měsíci m, dni d v tomto kalendáři?

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
M D
y m d

Výstup

Pokud den následující po roce y, měsíci m, dni d v kalendáři Království AtCoder je rok y', měsíc m', den d', vytiskněte y', m' a d' v tomto pořadí, oddělené mezerami.

Omezení

- 1000 \leq y \leq 9000
- 1 \leq m \leq M \leq 99
- 1 \leq d \leq D \leq 99
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

12 30
2023 12 30

Ukázkový výstup 1

2024 1 1

V kalendáři království se rok skládá z 12 měsíců a každý měsíc se skládá z 30 dnů.
Takže den následující po roce 2023, měsíci 12, dni 30 je rok 2024, měsíc 1, den 1.

Ukázkový vstup 2

36 72
6789 23 45

Ukázkový výstup 2

6789 23 46

V kalendáři království se rok skládá z 36 měsíců a každý měsíc se skládá ze 72 dnů.
Takže den následující po roce 6789, měsíci 23, dni 45 je rok 6789, měsíc 23, den 46.

Ukázkový vstup 3

12 30
2012 6 20

Ukázkový výstup 3

2012 6 21

V kalendáři AtCoder Kingdom se rok skládá z M měsíců od měsíce 1 do měsíce M a každý měsíc se skládá z D dnů ode dne 1 do dne D.
Jaký den následuje po roce y, měsíci m, dni d v tomto kalendáři?

Vstup

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

Výstup

Pokud je den po roce y, měsíc m, den d v kalendáři AtCoder Kingdom rok y', měsíc m', den d', tiskněte y', m' a d' v tomto pořadí, oddělené mezerami.

Omezení

- 1000 \leq y \leq 9000
- 1 \leq m \leq M \leq 99
- 1 \leq d \leq D \leq 99
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

12 30
2023 12 30

Ukázkový výstup 1

2024 11

V kalendáři království se rok skládá z 12 měsíců a každý měsíc se skládá z 30 dnů.
Den po roce 2023, měsíc 12, den 30 je tedy rok 2024, měsíc 1, den 1.

Ukázkový vstup 2

36 72
6789 23 45

Ukázkový výstup 2

6789 23 46

V kalendáři království se jeden rok skládá z 36 měsíců a každý měsíc se skládá ze 72 dnů.
Den po roce 6789, měsíc 23, den 45 je tedy rok 6789, měsíc 23, den 46.

Ukázkový vstup 3

12 30
2012 6 20

Ukázkový výstup 3

2012 6 21


Supermarket prodává balení vajec.
Balení 6 vajec stojí S yenů, balení 8 vajec stojí M yenů a balení 12 vajec stojí L yenů.
Pokud můžete koupit libovolný počet každého balení, najděte minimální částku peněz potřebnou k nákupu alespoň N vajec.

Vstup

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

Výstup

Vytiskněte odpověď.

omezení

- 1 \leq N \leq 100
- 1 \leq S,M,L \leq 10^4
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

16 120 150 200

Ukázkový výstup 1

300

Je optimální koupit dvě balení po 8 vejcích.

Ukázkový vstup 2

10 100 50 10

Ukázkový výstup 2

10

Je optimální koupit jedno balení s 12 vejci.

Ukázkový vstup 3

99 600 800 1200

Ukázkový výstup 3

10000

Je optimální koupit pět balení po 8 vejcích a pět balení po 12 vejcích.

Supermarket prodává balení vajec.
Balení 6 vajec stojí S jenů, balení 8 vajec M jenů a balení 12 vajec L jenů.
Když si můžete koupit libovolný počet z každého balení, zjistěte minimální množství peněz potřebné k nákupu alespoň N vajec.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- 1 \leq N \leq 100
- 1 \leq S,M,L \leq 10^4
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

16 120 150 200

Ukázkový výstup 1

300

Optimální je koupit dvě balení po 8 vajíčkách.

Ukázkový vstup 2

10 100 50 10

Ukázkový výstup 2

10

Optimální je koupit jedno balení 12 vajec.

Ukázkový vstup 3

99 600 800 1200

Ukázkový výstup 3

10 000

Optimální je koupit pět balení po 8 vajíčkách a pět balení po 12 vajíčkách.

Supermarket prodává balení vajec.
Balení 6 vajec stojí S jenů, balení 8 vajec stojí M jenů a balení 12 vajec stojí L jenů.
Když si můžete koupit libovolné množství každého balení, najděte minimální částku potřebnou k nákupu alespoň N vajec.

Zadání

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

Výstup

Print the answer.

Omezení

- 1 \leq N \leq 100
- 1 \leq S,M,L \leq 10^4
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

16 120 150 200

Ukázkový výstup 1

300

Optimální je koupit dvě balení po 8 vejcích.

Vzorový vstup 2

10 100 50 10

Výstupní vzorek 2

10

Optimální je koupit jedno balení 12 vajec.

Vzorový vstup 3

99 600 800 1200

Výstupní vzorek 3

10000

Optimální je koupit pět balení po 8 vejcích a pět balení po 12 vejcích.


Máte sekvenci A=(A_1,\ldots,A_N) délky N.
Pro každé i=1,\ldots,N, vyřešte následující úlohu.
Úloha: Najděte součet všech prvků v A, které jsou větší než A_i.

Vstup

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

Výstup

Pro každé 1\leq k\leq N, nechť B_k je odpověď na úlohu, když i=k. Vypište B_1,\ldots,B_N v tomto pořadí, oddělené mezerami.

Omezení

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

Ukázkový vstup 1

5
1 4 1 4 2

Ukázkový výstup 1

10 0 10 0 8

- Pro i=1, součet prvků větších než A_1=1 je 4+4+2=10.
- Pro i=2, součet prvků větších než A_2=4 je 0.
- Pro i=3, součet prvků větších než A_3=1 je 4+4+2=10.
- Pro i=4, součet prvků větších než A_4=4 je 0.
- Pro i=5, součet prvků větších než A_5=2 je 4+4=8.

Ukázkový vstup 2

10
31 42 59 26 53 58 97 93 23 54

Ukázkový výstup 2

456 414 190 487 361 249 0 97 513 307

Ukázkový vstup 3

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

Ukázkový výstup 3

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

Je dána posloupnost A=(A_1,\ldots,A_N) délky N.
Pro každé i=1,\ldots,N vyřešte následující úlohu.
Úloha: Najděte součet všech prvků v A, které jsou větší než A_i.

Vstup

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

Výstup

Pro každý 1\leq k\leq N nechť B_k je odpověď na úlohu, když i=k. Vypište B_1,\ldots,B_N v tomto pořadí, oddělené mezerami.

Omezení

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

Příklad Vstup 1

5
1 4 1 4 2

Ukázkový výstup 1

10 0 10 0 8

- Pro i=1 je součet prvků větších než A_1=1 4+4+2=10.
- Pro i=2 je součet prvků větších než A_2=4 roven 0.
- Pro i=3 je součet prvků větší než A_3=1 4+4+2=10.
- Pro i=4 je součet prvků větší než A_4=4 roven 0.
- Pro i=5 je součet prvků větší než A_5=2 roven 4+4=8.

Vzorový vstup 2

10
31 42 59 26 53 58 97 93 23 54

Ukázka výstupu 2

456 414 190 487 361 249 0 97 513 307

Vzorový vstup 3

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

Vzorový výstup 3

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


Existuje mřížka o velikosti 10^9 krát 10^9 čtverců. Nechť (i, j) označuje čtverec v (i + 1)-té řadě odshora a (j + 1)-tém sloupci zleva (0 \leq i, j \lt 10^9). (Všimněte si neobvyklého přiřazení indexů.) Každý čtverec je černý nebo bílý. Barva čtverce (i, j) je reprezentována znakem P[i \bmod N][j \bmod N], kde B znamená černý a W znamená bílý. Zde a \bmod b označuje zbytek při dělení a dělem b. Odpovězte na Q dotazů. Každý dotaz vám dá čtyři celá čísla A, B, C, D a ptá se, kolik černých čtverců je obsaženo v obdélníkové oblasti s (A, B) jako levým horním rohem a (C, D) jako pravým dolním rohem.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu. Zde \text{query}_i je i-tý dotaz, který má být zpracován.
N Q
P[0][0]P[0][1]\dots P[0][N-1]
P[1][0]P[1][1]\dots P[1][N-1]
\vdots
P[N-1][0]P[N-1][1]\dots P[N-1][N-1]
\text{query}_1
\text{query}_2
\vdots
\text{query}_Q

Každý dotaz je uveden ve formátu:
A B C D

Výstup

Dodržujte pokyny v zadání a vypište odpovědi na dotazy, oddělené novými řádky.

Omezení

- 1 \leq N \leq 1000
- P[i][j] je W nebo B.
- 1 \leq Q \leq 2 \times 10^5
- 0 \leq A \leq C \lt 10^9
- 0 \leq B \leq D \lt 10^9
- N, Q, A, B, C, D jsou všechno celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

4
7

Obrázek níže ilustruje levou horní část mřížky.

Pro první dotaz obdélníková oblast s (1, 2) jako levým horním rohem a (3, 4) jako pravým dolním rohem, obklopena červeným rámem na obrázku, obsahuje čtyři černé čtverce. Pro druhý dotaz obdélníková oblast s (0, 3) jako levým horním rohem a (4, 5) jako pravým dolním rohem, obklopena modrým rámem na obrázku, obsahuje sedm černých čtverců.

Ukázkový vstup 2

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

Ukázkový výstup 2

621
167
44
344
500000000000000000

Je zde mřížka se čtverci 10^9 x 10^9. Označme (i, j) čtverec v (i + 1)-té řadě shora a (j + 1)-tý sloupec zleva (0 \leq i, j \lt 10^9). (Všimněte si neobvyklého přiřazení indexu.)
Každý čtverec je černý nebo bílý. Barva čtverce (i, j) je reprezentována znakem P[i \bmod N][j \bmod N], kde B znamená černou a W znamená bílou. Zde a \bmod b označuje zbytek, když a je děleno b.
Odpovězte na Q dotazy.
Každý dotaz vám poskytne čtyři celá čísla A, B, C, D a požádá vás, abyste našli počet černých čtverců obsažených v obdélníkové oblasti s (A, B) jako levý horní roh a (C, D) jako spodní- pravý roh.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu. Zde je \text{query}_i i-tým dotazem, který má být zpracován.
N Q
P[0][0]P[0][1]\... P[0][N-1]
P[1][0]P[1][1]\...P[1][N-1]
\⋮
P[N-1][0]P[N-1][1]\...P[N-1][N-1]
\text{dotaz}_1
\text{dotaz}_2
\⋮
\text{query}_Q

Každý dotaz je uveden v následujícím formátu:
A B C D

Výstup

Postupujte podle pokynů v problému a vytiskněte odpovědi na dotazy oddělené novými řádky.

Omezení

- 1 \leq N \leq 1000
- P[i][j] je W nebo B.
- 1 \leq Q \leq 2 \krát 10^5
- 0 \leq A \leq C \lt 10^9
- 0 \leq B \leq D \lt 10^9
- N, Q, A, B, C, D jsou všechna celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

4
7

Obrázek níže znázorňuje levou horní část mřížky.

Pro první dotaz obsahuje obdélníková oblast s (1, 2) jako levý horní roh a (3, 4) jako pravý dolní roh, obklopená červeným rámečkem na obrázku, čtyři černé čtverce.
Pro druhý dotaz obsahuje obdélníková oblast s (0, 3) jako levý horní roh a (4, 5) jako pravý dolní roh, obklopená modrým rámečkem na obrázku, sedm černých čtverců.

Ukázkový vstup 2

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

Ukázkový výstup 2

621
167
44
344
500000000000000000

Je zde mřížka o 10^9 x 10^9 čtvercích. Nechť (i, j) označuje čtverec v (i + 1)-tém řádku shora a (j + 1)-tém sloupci zleva (0 \leq i, j \lt 10^9). (Všimněte si neobvyklého přiřazení indexů.)
Každý čtverec je černý nebo bílý. Barva čtverce (i, j) je reprezentována znakem P[i \bmod N][j \bmod N], kde B znamená černá a W znamená bílá. Zde a \bmod b označuje zbytek po dělení a číslem b.
Odpovězte na dotazy Q.
Každý dotaz vám zadá čtyři celá čísla A, B, C, D a požádá vás, abyste zjistili počet černých čtverců obsažených v obdélníkové ploše s (A, B) jako levým horním rohem a (C, D) jako pravým dolním rohem.

Zadání

Vstup je zadán ze standardního vstupu v následujícím formátu. Zde \text{query}_i je i-tý dotaz, který se má zpracovat.
N Q
P[0][0]P[0][1]\dots P[0][N-1]
P[1][0]P[1][1]\dots P[1][N-1]
\vdots
P[N-1][0]P[N-1][1]\dots P[N-1][N-1]
\text{query}_1
\text{query}_2
\vdots
\text{query}_Q

Každý dotaz je uveden v následujícím formátu:
A B C D

Výstup

Postupujte podle pokynů v zadání problému a vypište odpovědi na dotazy oddělené novými řádky.

Omezení

- 1 \leq N \leq 1000
- P[i][j] je W nebo B.
- 1 \leq Q \leq 2 \times 10^5
- 0 \leq A \leq C \lt 10^9
- 0 \leq B \leq D \lt 10^9
- N, Q, A, B, C, D jsou celá čísla.

Ukázkový vstup 1

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

Ukázka výstupu 1

4
7

Na obrázku níže je znázorněna levá horní část mřížky.

Pro první dotaz obsahuje obdélníková oblast s body (1, 2) jako levým horním rohem a (3, 4) jako pravým dolním rohem, která je na obrázku ohraničena červeným rámečkem, čtyři černé čtverce.
Pro druhý dotaz obsahuje obdélníková oblast s levým horním rohem (0, 3) a pravým dolním rohem (4, 5), která je na obrázku ohraničena modrým rámečkem, sedm černých čtverců.

Vzorový vstup 2

10 5
BBBWWWBBBW
WWWWWBBBWB
BBBWBBWWBBB
BBBWWBWWWWW
WWWWBWBWBW
WBBWBWBBBBB
WWBBBWWBWB
WBWBWWBBBB
WBWBWWWWWW
WWWBWWBWWB
5 21 21 93
35 35 70 43
55 72 61 84
36 33 46 95
0 0 999999999 999999999

Ukázka výstupu 2

621
167
44
344
500000000000000000


AtCoder jídelna prodává jídla složená z hlavního chodu a přílohy.
Existuje N druhů hlavního chodu, nazývaných hlavní chod 1, hlavní chod 2, \dots, hlavní chod N. Hlavní chod i stojí a_i jenů.
Existuje M druhů příloh, nazývaných příloha 1, příloha 2, \dots, příloha M. Příloha i stojí b_i jenů.
Sestavené jídlo se skládá z výběru jednoho hlavního chodu a jedné přílohy. Cena sestaveného jídla je součtem cen zvoleného hlavního chodu a přílohy.
Existuje však L různých párů (c_1, d_1), \dots, (c_L, d_L), pro které není sestavené jídlo nabízeno, protože se k sobě nehodí.
To znamená, že je nabízeno NM - L sestavených jídel. (Podmínky zaručují, že je nabízeno alespoň jedno sestavené jídlo.)
Najděte cenu nejdražšího nabízeného sestaveného jídla.

Vstup

Vstup je poskytnut ve standardním vstupu v následujícím formátu:
N M L
a_1 a_2 \dots a_N
b_1 b_2 \dots b_M
c_1 d_1
c_2 d_2
\vdots
c_L d_L

Výstup

Vytiskněte cenu, v jenech, nejdražšího nabízeného sestaveného jídla.

Omezení

- 1 \leq N, M \leq 10^5
- 0 \leq L \leq \min(10^5, NM - 1)
- 1 \leq a_i, b_i \leq 10^9
- 1 \leq c_i \leq N
- 1 \leq d_j \leq M
- (c_i, d_i) \neq (c_j, d_j) pokud i \neq j.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

31

Nabízí tři sestavená jídla, uvedená níže spolu s jejich cenami:

- Sestavené jídlo složené z hlavního chodu 1 a přílohy 1, za cenu 2 + 10 = 12 jenů.
- Sestavené jídlo složené z hlavního chodu 1 a přílohy 3, za cenu 2 + 20 = 22 jenů.
- Sestavené jídlo složené z hlavního chodu 2 a přílohy 2, za cenu 1 + 30 = 31 jenů.

Mezi nimi je nejdražší třetí. Proto vytiskněte 31.

Ukázkový vstup 2

2 1 0
1000000000 1
1000000000

Ukázkový výstup 2

2000000000

Ukázkový vstup 3

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

Ukázkový výstup 3

149076

Jídelna AtCoder prodává jídla skládající se z hlavního jídla a přílohy.
Existuje N druhů hlavních jídel, nazývaných hlavní jídlo 1, hlavní jídlo 2,…, hlavní jídlo N. Hlavní jídlo i stojí a_i jen.
Existuje M typů příloh, nazývaných příloha 1, příloha 2, …, příloha M. Příloha i stojí b_i jenů.
Setové jídlo se skládá z výběru jednoho hlavního jídla a jedné přílohy. Cena sestaveného jídla je součtem cen zvoleného hlavního jídla a přílohy.
U L odlišných párů (c_1, d_1), …, (c_L, d_L) se však nastavené jídlo skládající se z hlavního jídla c_i a přílohy d_i nenabízí, protože se k sobě nehodí.
To znamená, že jsou nabízena jídla NM - L. (Omezení zaručují, že bude nabízeno alespoň jedno nastavené jídlo.)
Najděte cenu nejdražšího nabízeného setového jídla.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N M L
a_1 a_2… a_N
b_1 b_2 … b_M
c_1 d_1
c_2 d_2
\vtečky
c_L d_L

Výstup

Vytiskněte cenu nejdražšího nabízeného setového jídla v jenách.

Omezení

- 1 \leq N, M \leq 10^5
- 0 \leq L \leq \min(10^5, NM - 1)
- 1 \leq a_i, b_i \leq 10^9
- 1 \leq c_i \leq N
- 1 \leq d_j \leq M
- (c_i, d_i) \neq (c_j, d_j), pokud i \neq j.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

31

Nabízejí tři sestavená jídla uvedená níže spolu s jejich cenami:

- Sada jídel skládající se z hlavního jídla 1 a přílohy 1 za cenu 2 + 10 = 12 jenů.
- Sada jídel skládající se z hlavního jídla 1 a přílohy 3 za cenu 2 + 20 = 22 jenů.
- Sada jídel skládající se z hlavního jídla 2 a přílohy 2 za cenu 1 + 30 = 31 jenů.

Mezi nimi je nejdražší ten třetí. Vytiskněte tedy 31.

Ukázkový vstup 2

2 1 0
1 000 000 000 1
1000000000

Ukázkový výstup 2

2000000000

Ukázkový vstup 3

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

Ukázkový výstup 3

149076

Kavárna AtCoder prodává jídla skládající se z hlavního jídla a přílohy.
Existuje N druhů hlavních jídel, nazývaných hlavní jídlo 1, hlavní jídlo 2, \dots, hlavní jídlo N. Hlavní jídlo i stojí a_i jenů.
Existuje M typů příloh, nazývaných příloha 1, příloha 2, \dots, příloha M. Příloha i stojí b_i jenů.
Setové jídlo se skládá z výběru jednoho hlavního jídla a jedné přílohy. Cena sestaveného jídla je součtem cen zvoleného hlavního jídla a přílohy.
U L odlišných párů (c_1, d_1), \dots, (c_L, d_L) se však nastavené jídlo skládající se z hlavního jídla c_i a přílohy d_i nenabízí, protože se k sobě nehodí.
To znamená, že jsou nabízena jídla NM - L. (Omezení zaručují, že bude nabízeno alespoň jedno nastavené jídlo.)
Najděte cenu nejdražšího nabízeného setu jídla.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N M L
a_1 a_2 \dots a_N
b_1 b_2 \dots b_M
c_1 d_1
c_2 d_2
\vdots
c_L d_L

Výstup

Vytiskněte cenu nejdražšího nabízeného jídla v jenech.

Omezení

- 1 \leq N, M \leq 10^5
- 0 \leq L \leq \min(10^5, NM - 1)
- 1 \leq a_i, b_i \leq 10^9
- 1 \leq c_i \leq N
- 1 \leq d_j \leq M
- (c_i, d_i) \neq (c_j, d_j), pokud i \neq j.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

31

Nabízejí tři nastavená jídla uvedená níže spolu s jejich cenami:

- Sada jídel skládající se z hlavního jídla 1 a přílohy 1 za cenu 2 + 10 = 12 jen.
- Sada jídel skládající se z hlavního jídla 1 a přílohy 3 za cenu 2 + 20 = 22 jen.
- Sada jídel skládající se z hlavního jídla 2 a přílohy 2 za cenu 1 + 30 = 31 jen.

Mezi nimi je nejdražší ten třetí. Vytiskněte tedy 31.

Ukázkový vstup 2

2 1 0
1 000 000 000 1
1000000000

Ukázkový výstup 2

2000000000

Ukázkový vstup 3

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

Ukázkový výstup 3

149076


Společnost AtCoder Inc. prodává zboží prostřednictvím svého internetového obchodu.
Takahaši se rozhodl, že si od něj zakoupí N typů výrobků.
Pro každé celé číslo i od 1 do N má i-tý typ výrobku cenu P_i jenů za kus a on si ho koupí Q_i kusů.
Navíc musí zaplatit poplatek za dopravu.
Poplatek za dopravu je 0 jenů, pokud je celková cena zakoupených výrobků S jenů nebo vyšší, a K jenů v opačném případě.
Zaplatí celkovou cenu nakupovaných výrobků plus poplatek za dopravu.
Vypočítejte částku, kterou zaplatí.

Zadejte

Vstup je zadán ze standardního vstupu v následujícím formátu:
N S K
P_1 Q_1
P_2 Q_2
\vdots
P_N Q_N

Výstup

Vypište částku, kterou Takahashi zaplatí za online nákupy.

Omezení

- 1\leq N\leq 100
- 1\leq S\leq 10000
- 1\leq K\leq 10000
- 1\leq P_i\leq 10000
- 1\leq Q_i\leq 100
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

2 2000 500
1000 1
100 6

Ukázka výstupu 1

2100
Takahashi koupí jeden výrobek za 1000 jenů a šest výrobků po 100 jenech.
Celková cena výrobků je tedy1000\times 1+100\times  6=1600 jenů.
Protože celková částka za výrobky je nižší než 2000 jenů, bude poštovné činit 500 jenů.
Částka, kterou Takahashi zaplatí, je tedy 1600+500=2100 jenů.

Vzorový vstup 2

3 2000 500
1000 1
100 6
5000 1

Výstupní vzorek 2

6600

Celková cena výrobků je 1000\times 1+100\times 6+5000\times 1=6600 jenů.
Protože celková částka za výrobky není nižší než 2000 jenů, bude poplatek za dopravu 0 jenů.
Částka, kterou Takahashi zaplatí, je tedy 6600+0=6600 jenů.

Vzorový vstup 3

2 2000 500
1000 1
1000 1

Vzorový výstup 3

2000

Může existovat více produktů se stejnou cenou za položku.

Translated with DeepL.com (free version)

Společnost AtCoder Inc. prodává zboží prostřednictvím svého internetového obchodu.
Takahaši se rozhodl, že si tam zakoupí N typů výrobků.
Pro každé celé číslo i od 1 do N má i-tý typ výrobku cenu P_i jenů za kus a on si ho koupí Q_i kusů.
Navíc musí zaplatit poplatek za dopravu.
Poplatek za dopravu je 0 jenů, pokud je celková cena zakoupených výrobků S jenů nebo vyšší, a K jenů v opačném případě.
Zaplatí celkovou cenu nakupovaných výrobků plus poplatek za dopravu.
Vypočítejte částku, kterou zaplatí.

Vstup

Vstup je dán ze standardního zadání v následujícím formátu:
N S K
P_1 Q_1
P_2 Q_2
\vdots
P_N Q_N

Výstup

Vypište částku, kterou Takahashi zaplatí za online nákupy.

Omezení

- 1\leq N\leq 100
- 1\leq S\leq 10000
- 1\leq K\leq 10000
- 1\leq P_i\leq 10000
- 1\leq Q_i\leq 100
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

2 2000 500
1000 1
100 6

Vzorový výstup 1

2100

Takahashi koupí jeden výrobek za 1000 jenů a šest výrobků po 100 jenech.
Celková cena výrobků je tedy 1000\krát 1+100\krát 6=1600 jenů.
Protože celková částka za výrobky je nižší než 2000 jenů, bude poštovné činit 500 jenů.
Částka, kterou Takahashi zaplatí, je tedy 1600+500=2100 jenů.

Vzorový vstup 2

3 2000 500
1000 1
100 6
5000 1

Vzorový výstup 2

6600

Celková cena výrobků je 1000\krát 1+100\krát 6+5000\krát 1=6600 jenů.
Protože celková částka za výrobky není nižší než 2000 jenů, bude poplatek za dopravu 0 jenů.
Částka, kterou Takahashi zaplatí, je tedy 6600+0=6600 jenů.

Vzorový vstup 3

2 2000 500
1000 1
1000 1

Vzorový výstup 3

2000

Může existovat více produktů se stejnou cenou za položku.

AtCoder Inc. prodává zboží prostřednictvím svého online obchodu.
Takahashi se rozhodl odtamtud nakoupit N typů produktů.
Pro každé celé číslo i od 1 do N má i-tý typ produktu cenu každého P_i jenů a z toho koupí Q_i.
Navíc musí zaplatit poplatek za dopravu.
Poplatek za dopravu je 0 jenů, pokud je celková cena zakoupených produktů S jenů nebo vyšší, jinak K jenů.
Zaplatí celkovou cenu zakoupených produktů plus poštovné.
Spočítejte si částku, kterou zaplatí.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N S K
P_1 Q_1
P_2 Q_2
\vtečky
P_N Q_N

Výstup

Vytiskněte částku, kterou Takahashi zaplatí za online nakupování.

Omezení

- 1\leq N\leq 100
- 1\leq S\leq 10000
- 1\leq K\leq 10000
- 1\leq P_i\leq 10 000
- 1\leq Q_i\leq 100
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

2 200 500
1000 1
100 6

Ukázkový výstup 1

2100

Takahashi kupuje jeden produkt za 1000 jenů a šest produktů za 100 jenů.
Celková cena produktů je tedy 1000\krát 1+100\krát 6=1600 jenů.
Vzhledem k tomu, že celková částka za produkty je nižší než 2000 jenů, bude poštovné 500 jenů.
Proto částka, kterou Takahashi zaplatí, je 1600+500=2100 jenů.

Ukázkový vstup 2

3 200 500
1000 1
100 6
5000 1

Ukázkový výstup 2

6600

Celková cena produktů je 1000\krát 1+100\krát 6+5000\krát 1=6600 jenů.
Vzhledem k tomu, že celková částka za produkty není nižší než 2000 jenů, bude poštovné 0 jenů.
Proto částka, kterou Takahashi zaplatí, je 6600+0=6600 jenů.

Ukázkový vstup 3

2 200 500
1000 1
1000 1

Ukázkový výstup 3

2000

Může existovat více produktů se stejnou cenou za položku.


AtCoder Inc. prodává sklenice a hrnky.
Takahashi má sklenici s objemem G mililitrů a hrnek s objemem M mililitrů.
Zde platí, že G<M.
Na začátku jsou jak sklenice, tak hrnek prázdné.
Po provedení následující operace K-krát určete, kolik mililitrů vody je ve sklenici a hrnku.

- Když je sklenice naplněna vodou, tedy sklenice obsahuje přesně G mililitrů vody, vylijte všechnu vodu ze sklenice.
- Jinak, pokud je hrnek prázdný, naplňte hrnek vodou.
- Jinak, přelijte vodu z hrnku do sklenice, dokud hrnek není prázdný nebo dokud není sklenice naplněna vodou.

Vstup

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

Výstup

Vytiskněte množství vody, v mililitrech, ve sklenici a v hrnku, v tomto pořadí, oddělené mezerou, po provedení operace K-krát.

Omezení

- 1\leq K\leq 100
- 1\leq G<M\leq 1000
- G, M a K jsou celá čísla.

Ukázkový vstup 1

5 300 500

Ukázkový výstup 1

200 500

Operace bude provedena následujícím způsobem. Na začátku jsou obě, sklenice a hrnek, prázdné.

- Naplňte hrnek vodou. Sklenice má 0 mililitrů a hrnek má 500 mililitrů vody.
- Přelijte vodu z hrnku do sklenice, dokud není sklenice plná. Sklenice má 300 mililitrů a hrnek má 200 mililitrů vody.
- Vylijte všechnu vodu ze sklenice. Sklenice má 0 mililitrů a hrnek má 200 mililitrů vody.
- Přelijte vodu z hrnku do sklenice, dokud není hrnek prázdný. Sklenice má 200 mililitrů a hrnek má 0 mililitrů vody.
- Naplňte hrnek vodou. Sklenice má 200 mililitrů a hrnek má 500 mililitrů vody.

Po pěti operacích tedy sklenice obsahuje 200 mililitrů a hrnek 500 mililitrů vody.
Proto vytiskněte 200 a 500 v tomto pořadí oddělené mezerou.

Ukázkový vstup 2

5 100 200

Ukázkový výstup 2

0 0

AtCoder Inc. prodává sklenice a hrnky.
Takahashi má sklenici o objemu G mililitrů a hrnek o objemu M mililitrů.
Tady, G<M.
Zpočátku jsou sklenice i hrnek prázdné.
Po provedení následující operace K krát určete, kolik mililitrů vody je ve sklenici a v hrnku.

- Když je sklenice naplněna vodou, to znamená, že sklenice obsahuje přesně G mililitrů vody, veškerou vodu ze sklenice vylijte.
- V opačném případě, pokud je hrnek prázdný, naplňte hrnek vodou.
- V opačném případě přelijte vodu z hrnku do sklenice, dokud nebude hrnek prázdný nebo dokud nebude sklenice naplněna vodou.

Vstup

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

Výstup

Vytiskněte množství vody ve sklenici a hrnku v mililitrech v tomto pořadí, oddělené mezerou, po provedení operace K-krát.

Omezení

- 1\leq K\leq 100
- 1\leq G<M\leq 1000
- G, M a K jsou celá čísla.

Ukázkový vstup 1

5 300 500

Ukázkový výstup 1

200 500

Operace bude provedena následovně. Zpočátku jsou sklenice i hrnek prázdné.

- Naplňte hrnek vodou. Sklenice má 0 mililitrů a hrnek má 500 mililitrů vody.
- Přeneste vodu z hrnku do sklenice, dokud se sklenice nenaplní. Sklenice má 300 mililitrů a hrnek má 200 mililitrů vody.
- Vylijte všechnu vodu ze sklenice. Sklenice má 0 mililitrů a hrnek má 200 mililitrů vody.
- Přeneste vodu z hrnku do sklenice, dokud nebude hrnek prázdný. Sklenice má 200 mililitrů a hrnek má 0 mililitrů vody.
- Naplňte hrnek vodou. Sklenice má 200 mililitrů a hrnek má 500 mililitrů vody.

Po pěti operacích má tedy sklenice 200 mililitrů a hrnek 500 mililitrů vody.
Vytiskněte tedy 200 a 500 v tomto pořadí, oddělené mezerou.

Ukázkový vstup 2

5 100 200

Ukázkový výstup 2

0 0

AtCoder Inc. prodává sklenice a hrnky.
Takahashi má sklenici o objemu G mililitrů a hrnek s kapacitou M mililitrů.
Zde G<M.
Zpočátku jsou sklenice i hrnek prázdné.
Po provedení následující operace Kkrát určete, kolik mililitrů vody je ve sklenici a v hrnku.

- Když je sklenice naplněna vodou, to znamená, že sklenice obsahuje přesně G mililitrů vody, vyhoďte ze sklenice veškerou vodu.
- V opačném případě, pokud je hrnek prázdný, naplňte hrnek vodou.
- V opačném případě přelévejte vodu z hrnku na sklenici, dokud nebude hrnek prázdný nebo dokud se sklenice nenaplní vodou.

Vstup

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

Výstup

Vytiskněte množství vody ve sklenici a hrnku v mililitrech, v tomto pořadí, oddělené mezerou, po provedení operace K-krát.

Omezení

- 1\leq K\leq 100
- 1\leq G<M\leq 1000
- G, M a K jsou celá čísla.

Vzorový vstup 1

5 300 500

Ukázkový výstup 1

200 500

Operace bude provedena následovně. Zpočátku jsou sklenice i hrnek prázdné.

- Naplňte hrnek vodou. Sklenice má 0 mililitrů a hrnek má 500 mililitrů vody.
- Přenášejte vodu z hrnku na sklenici, dokud není sklenice naplněna. Sklenice má 300 mililitrů a hrnek má 200 mililitrů vody.
- Vylijte ze sklenice veškerou vodu. Sklenice má 0 mililitrů a hrnek má 200 mililitrů vody.
- Přelévejte vodu z hrnku do sklenice, dokud nebude hrnek prázdný. Sklenice má 200 mililitrů a hrnek má 0 mililitrů vody.
- Naplňte hrnek vodou. Sklenice má 200 mililitrů a hrnek má 500 mililitrů vody.

Po pěti operacích má tedy sklenice 200 mililitrů a hrnek 500 mililitrů vody.
Vytiskněte tedy čísla 200 a 500 v tomto pořadí, oddělená mezerou.

Vzorkovací vstup 2

5 100 200

Ukázkový výstup 2

0 0


Společnost AtCoder Inc. prodává trička se svým logem.
Máte zadán Takahašiho rozvrh na N dní jako řetězec S délky N skládající se z 0, 1 a 2.
Konkrétně pro celé číslo i splňující podmínky 1\leq i\leq N,

- pokud je i-tý znak S roven 0, nemá na i-tý den naplánovaný žádný plán;
- je-li i-tý znak S roven 1, má v plánu jít i-tý den na jídlo;
- je-li i-tý znak S roven 2, plánuje na i-tý den účast na soutěžní programovací akci.

Takahaši má M obyčejných triček, všechna vypraná a připravená k nošení těsně před prvním dnem.
Aby mohl splnit následující podmínky, koupí si navíc několik triček s logem AtCoder.

- Ve dnech, kdy půjde ven na jídlo, bude mít na sobě obyčejné tričko nebo tričko s logem.
- Ve dnech, kdy se zúčastní soutěžní programátorské akce, bude nosit tričko s logem.
- Ve dnech, kdy nemá žádné plány, nebude nosit žádné tričko. Také všechna trička, která bude mít v danou chvíli na sobě, vyperou. Od dalšího dne je může nosit znovu.
- Jakmile si jednou tričko oblékne, nemůže si ho obléknout znovu, dokud ho nevypere.

Určete minimální počet triček, která si musí koupit, aby mohl nosit vhodná trička ve všech plánovaných dnech během N dnů. Pokud nepotřebuje kupovat nová trička, napište 0.
Předpokládejte, že zakoupená trička jsou také vyprána a připravena k použití těsně před prvním dnem.

Vstup

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

Výstup

Vypište minimální počet triček, která musí Takahashi koupit, aby mohl splnit podmínky uvedené v zadání problému.
Pokud nepotřebuje koupit nová trička, vypište 0.

Omezení

- 1\leq M\leq N\leq 1000
- S je řetězec délky N, který se skládá z 0, 1 a 2.
- N a M jsou celá čísla.

Vzorový vstup 1

6 1
112022

Vzorový výstup 1

2

Pokud si Takahaši koupí dvě trička s logem, může nosit trička takto:

- První den si vezme tričko s logem, když jde na jídlo.
- Druhý den si vezme obyčejné tričko, když jde ven na jídlo.
- Třetí den si vezme tričko s logem, aby se zúčastnil soutěžní programovací akce.
- Čtvrtý den nemá žádné plány, a tak všechna obnošená trička vypere. Díky tomu může znovu použít trička, která měl na sobě první, druhý a třetí den.
- Pátý den si oblékne tričko s logem, aby se zúčastnil soutěžní programátorské akce.
- Šestý den si oblékne tričko s logem, aby se zúčastnil soutěžní programátorské akce.

Pokud si koupí jedno nebo méně triček s logem, nemůže trička pro splnění podmínek použít bez ohledu na to, co se stane. Tedy tisk 2.

Vzorový vstup 2

3 1
222

Vzorový výstup 2

3

Vzorový vstup 3

2 1
01

Vzorový výstup 3

0

Nepotřebuje kupovat nová trička.

Společnost AtCoder Inc. prodává trička se svým logem.
Dostanete Takahashiho rozvrh na N dní jako řetězec S o délce N skládající se z 0, 1 a 2.
Konkrétně pro celé číslo i splňující 1\leq i\leq N,

- pokud je i-tý znak S 0, nemá na i-tý den naplánovaný žádný plán;
- pokud je i-tý znak S 1, plánuje jít na jídlo na i-tý den;
- pokud je i-tá postava S 2, plánuje se zúčastnit soutěžního programovacího turnaje na i-tý den.

Takahashi má obyčejná trička M, všechna vypráná a připravená k nošení těsně před prvním dnem.
navíc, aby mohl splnit následující podmínky, koupí si několik triček s logem AtCoder.

- Ve dnech, kdy jde na jídlo, bude mít na sobě obyčejné tričko nebo tričko s logem.
- Ve dnech, kdy se zúčastní soutěžní programátorské akce, bude mít na sobě tričko s logem.
- Ve dnech, kdy nemá žádné plány, nebude nosit žádná trička. Také vypere všechna trička, která bude mít v tu chvíli na sobě. Od druhého dne je může znovu nosit.
- Jakmile si jednou oblékne tričko, nemůže si ho znovu obléct, dokud ho nevypere.

Určete minimální počet triček, která musí koupit, aby mohl nosit vhodná trička ve všech naplánovaných dnech během N dnů. Pokud nepotřebuje kupovat nová trička, vytiskněte 0.
Předpokládejte, že zakoupená trička jsou také vyprána a připravena k použití těsně před prvním dnem.

Vstup

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

Výstup

Vytiskněte minimální počet triček, která musí Takahashi koupit, aby byl schopen splnit podmínky uvedené v popisu problému.
Pokud nepotřebuje kupovat nová trička, vytiskněte 0.

Omezení

- 1\leq M\leq N\leq 1000
- S je řetězec délky N skládající se z 0, 1 a 2.
- N a M jsou celá čísla.

Vzorový vstup 1

6 1
112022

Ukázkový výstup 1

2

Pokud si Takahashi koupí dvě trička s logem, může nosit trička následovně:

- První den si oblékne logo tričko, aby šel na jídlo.
- Druhý den si oblékne obyčejné tričko, aby šel na jídlo.
- Třetí den si oblékne logo tričko, aby se zúčastnil soutěžního programátorského podniku.
- Čtvrtý den nemá žádné plány, takže vyperou všechny nošená trička. To mu umožní znovu použít trička nošená první, druhý a třetí den.
- Pátý den si oblékne logo tričko, aby se zúčastnil soutěžního programátorského podniku.
- Šestý den si oblékne logo tričko, aby se zúčastnil soutěžního programátorského podniku.

Pokud si koupí jedno nebo více triček s logem, nemůže je použít ke splnění podmínek za žádnou cenu. Proto tisk 2.

Vzorkovací vstup 2

3 1
222

Ukázkový výstup 2

3

Vzorkovací vstup 3

2 1
01

Ukázkový výstup 3

0

Nepotřebuje si kupovat nová trička.

AtCoder Inc. prodává trička se svým logem.
Dostanete Takahashiho plán na N dní jako řetězec S délky N sestávající z 0, 1 a 2.
Konkrétně pro celé číslo i splňující 1\leq i\leq N,

- pokud i-tý znak S je 0, nemá na i-tý den naplánovaný žádný plán;
- pokud i-tý znak S je 1, plánuje jít na jídlo na i-tý den;
- je-li i-tý znak S 2, plánuje se zúčastnit soutěžního programování v i-tý den.

Takahashi má obyčejná trička M, všechna vypraná a připravená k nošení těsně před prvním dnem.
Kromě toho, aby mohl splnit následující podmínky, koupí si několik triček s logem AtCoder.

- Ve dnech, kdy jde na jídlo, bude mít na sobě obyčejné tričko nebo tričko s logem.
- Ve dnech, kdy se zúčastní soutěžního programování, bude mít na sobě tričko s logem.
- Ve dnech bez plánů nebude nosit žádná trička. Také vypere všechna trička, která v tom okamžiku nosí. Od druhého dne je může znovu nosit.
- Jakmile si oblékne tričko, nemůže ho znovu nosit, dokud ho nevypere.

Určete minimální počet triček, která si musí koupit, aby mohl nosit vhodná trička ve všech naplánovaných dnech během N dnů. Pokud nepotřebuje kupovat nová trička, vytiskněte 0.
Předpokládejme, že zakoupená trička jsou těsně před prvním dnem také vypraná a připravená k použití.

Vstup

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

Výstup

Vytiskněte minimální počet triček, které musí Takahashi koupit, aby mohl splnit podmínky v prohlášení o problému.
Pokud nepotřebuje kupovat nová trička, vytiskněte 0.

Omezení

- 1\leq M\leq N\leq 1000
- S je řetězec délky N sestávající z 0, 1 a 2.
- N a M jsou celá čísla.

Ukázkový vstup 1

6 1
112022

Ukázkový výstup 1

2

Pokud si Takahashi koupí dvě trička s logem, může nosit trička následovně:

- První den má na sobě tričko s logem, aby šel na jídlo.
- Druhý den má na sobě obyčejné tričko, aby šel na jídlo.
- Třetí den má na sobě tričko s logem, aby se zúčastnil soutěžní programové akce.
- Čtvrtý den nemá žádné plány, tak vypere všechna obnošená trička. To mu umožňuje znovu použít trička nošená první, druhý a třetí den.
- Pátý den má na sobě tričko s logem, aby se zúčastnil soutěžní programové akce.
- Šestý den má na sobě tričko s logem, aby se zúčastnil soutěžní programové akce.

Pokud si koupí jedno nebo méně triček s logem, nemůže trička bez ohledu na to použít ke splnění podmínek. Proto vytiskněte 2.

Ukázkový vstup 2

3 1
222

Ukázkový výstup 2

3

Ukázkový vstup 3

2 1
01

Ukázkový výstup 3

0

Nepotřebuje kupovat nová trička.


Jsou vám dány dvě mřížky, A a B, každá s H řádky a W sloupci.
Pro každou dvojici celých čísel (i, j) splňující 1 \leq i \leq H a 1 \leq j \leq W označme (i, j) buňku v i-té řadě a j-tém sloupci. V mřížce A obsahuje buňka (i, j) celé číslo A_{i, j}. V mřížce B obsahuje buňka (i, j) celé číslo B_{i, j}.
Následující operaci zopakujete kolikrát, možná nula. V každé operaci provedete jednu z následujících akcí:

- Vyberte celé číslo i splňující 1 \leq i \leq H-1 a prohoďte i-tý a (i+1)-tý řádek v mřížce A.
- Vyberte celé číslo i splňující 1 \leq i \leq W-1 a prohoďte i-tý a (i+1)-tý sloupec v mřížce A.

Opakováním výše uvedené operace zjistěte, zda je možné vytvořit mřížku A identickou s mřížkou B. Pokud je to možné, vytiskněte minimální počet operací, které jsou k tomu zapotřebí.
Zde je mřížka A totožná s mřížkou B právě tehdy, když pro všechny dvojice celých čísel (i, j) splňující 1 \leq i \leq H a 1 \leq j \leq W je celé číslo zapsané v buňce (i, j ) mřížky A se rovná celému číslu zapsanému v buňce (i, j) mřížky B.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
H W
A_{1, 1} A_{1, 2} \cdots A_{1, W}
A_{2, 1} A_{2, 2} \cdots A_{2, W}
\vtečky
A_{H, 1} A_{H, 2} \cdots A_{H, W}
B_{1, 1} B_{1, 2} \cdots B_{1, W}
B_{2, 1} B_{2, 2} \cdots B_{2, W}
\vtečky
B_{H, 1} B_{H, 2} \cdots B_{H, W}

Výstup

Pokud není možné vytvořit mřížku A shodnou s mřížkou B, výstup -1. V opačném případě vytiskněte minimální počet operací potřebných k tomu, aby byla mřížka A identická s mřížkou B.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 2 \leq H, W \leq 5
- 1 \leq A_{i, j}, B_{i, j} \leq 10^9

Ukázkový vstup 1

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

Ukázkový výstup 1

3

Prohozením čtvrtého a pátého sloupce počáteční mřížky A vznikne následující mřížka:
1 2 3 5 4
6 7 8 10 9
11 12 13 15 14
16 17 18 20 19

Poté prohozením druhého a třetího řádku vznikne následující mřížka:
1 2 3 5 4
11 12 13 15 14
6 7 8 10 9
16 17 18 20 19

Nakonec prohozením druhého a třetího sloupce vznikne následující mřížka, která je identická s mřížkou B:
1 3 2 5 4
11 13 12 15 14
6 8 7 10 9
16 18 17 20 19

Mřížku A můžete vytvořit identickou s mřížkou B pomocí tří výše uvedených operací a nelze to udělat s menším počtem operací, takže vytiskněte 3.

Ukázkový vstup 2

2 2
11
11
11
1 1000000000

Ukázkový výstup 2

-1

Neexistuje způsob, jak provést operaci, aby se mřížka A shodovala s mřížkou B, takže vytiskněte -1.

Ukázkový vstup 3

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

Ukázkový výstup 3

0

Mřížka A je již na začátku totožná s mřížkou B.

Ukázkový vstup 4

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

Ukázkový výstup 4

20

Máte k dispozici dvě mřížky, A a B, každou s řádky H a sloupci W.
Pro každou dvojici celých čísel (i, j) splňující podmínky 1 \leq i \leq H a 1 \leq j \leq W, nechť (i, j) označuje buňku v i-tém řádku a j-tém sloupci. V mřížce A obsahuje buňka (i, j) celé číslo A_{i, j}. V mřížce B obsahuje buňka (i, j) celé číslo B_{i, j}.
Následující operaci budete opakovat libovolný početkrát, případně i nulakrát. Při každé operaci provedete jednu z následujících operací:

- Zvolte celé číslo i splňující podmínky 1 \leq i \leq H-1 a prohoďte i-tý a (i+1)-tý řádek v mřížce A.
- Zvolte celé číslo i splňující podmínku 1 \leq i \leq W-1 a prohoďte i-tý a (i+1)-tý sloupec v mřížce A.

Určete, zda je možné opakováním výše uvedené operace vytvořit mřížku A shodnou s mřížkou B. Pokud je to možné, vypište minimální počet operací, které jsou k tomu zapotřebí.
Zde je mřížka A shodná s mřížkou B tehdy a jen tehdy, když pro všechny dvojice celých čísel (i, j) splňující podmínky 1 \leq i \leq H a 1 \leq j \leq W je celé číslo zapsané v buňce (i, j) mřížky A rovno celému číslu zapsanému v buňce (i, j) mřížky B.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
H W
A_{1, 1} A_{1, 2} \cdots A_{1, W}
A_{2, 1} A_{2, 2} \cdots A_{2, W}
\vdots
A_{H, 1} A_{H, 2} \cdots A_{H, W}
B_{1, 1} B_{1, 2} \cdots B_{1, W}
B_{2, 1} B_{2, 2} \cdots B_{2, W}
\vdots
B_{H, 1} B_{H, 2} \cdots B_{H, W}

Výstup

Pokud není možné, aby mřížka A byla totožná s mřížkou B, vypište -1. V opačném případě vypište minimální počet operací potřebných k tomu, aby mřížka A byla identická s mřížkou B.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 2 \leq H, W \leq 5
- 1 \leq A_{i, j}, B_{i, j} \leq 10^9

Vzorový vstup 1

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

Vzorový výstup 1

3

Prohozením čtvrtého a pátého sloupce výchozí mřížky A získáme následující mřížku:
1 2 3 5 4
6 7 8 10 9
11 12 13 15 14
16 17 18 20 19

Výměnou druhého a třetího řádku pak získáme následující mřížku:
1 2 3 5 4
11 12 13 15 14
6 7 8 10 9
16 17 18 20 19

A nakonec prohozením druhého a třetího sloupce získáme následující mřížku, která je totožná s mřížkou B:
1 3 2 5 4
11 13 12 15 14
6 8 7 10 9
16 18 17 20 19

Mřížku A můžete vytvořit identickou s mřížkou B pomocí tří výše uvedených operací a nemůžete tak učinit pomocí menšího počtu operací, proto vypište 3.

Vzorový vstup 2

2 2
1 1
1 1
1 1
1 1000000000

Vzorový výstup 2

-1

Neexistuje žádný způsob, jak provést operaci, aby se mřížka A shodovala s mřížkou B, takže vypište -1.

Vzorový vstup 3

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

Vzorový výstup 3

0

Mřížka A je již na začátku totožná s mřížkou B.

Vzorový vstup 4

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

Vzorový výstup 4

20

Máte k dispozici dvě mřížky, A a B, každou s řádky H a sloupci W.
Pro každou dvojici celých čísel (i, j) splňující podmínky 1 \leq i \leq H a 1 \leq j \leq W, nechť (i, j) označuje buňku v i-tém řádku a j-tém sloupci. V mřížce A obsahuje buňka (i, j) celé číslo A_{i, j}. V mřížce B obsahuje buňka (i, j) celé číslo B_{i, j}.
Následující operaci budete opakovat libovolný početkrát, případně i nulakrát. Při každé operaci provedete jednu z následujících operací:

- Zvolte celé číslo i splňující podmínky 1 \leq i \leq H-1 a prohoďte i-tý a (i+1)-tý řádek v mřížce A.
- Zvolte celé číslo i splňující podmínku 1 \leq i \leq W-1 a prohoďte i-tý a (i+1)-tý sloupec v mřížce A.

Určete, zda je možné opakováním výše uvedené operace vytvořit mřížku A shodnou s mřížkou B. Pokud je to možné, vypište minimální počet operací, které jsou k tomu zapotřebí.
Zde je mřížka A shodná s mřížkou B tehdy a jen tehdy, když pro všechny dvojice celých čísel (i, j) splňující podmínky 1 \leq i \leq H a 1 \leq j \leq W je celé číslo zapsané v buňce (i, j) mřížky A rovno celému číslu zapsanému v buňce (i, j) mřížky B.

Vstup

The input is given from Standard Input in the following format:
H W
A_{1, 1} A_{1, 2} \cdots A_{1, W}
A_{2, 1} A_{2, 2} \cdots A_{2, W}
\vdots
A_{H, 1} A_{H, 2} \cdots A_{H, W}
B_{1, 1} B_{1, 2} \cdots B_{1, W}
B_{2, 1} B_{2, 2} \cdots B_{2, W}
\vdots
B_{H, 1} B_{H, 2} \cdots B_{H, W}

Výstup

If it is impossible to make grid A identical to grid B, output -1. Otherwise, print the minimum number of operations required to make grid A identical to grid B.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 2 \leq H, W \leq 5
- 1 \leq A_{i, j}, B_{i, j} \leq 10^9

Vzorový vstup 1

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

Ukázka výstupu 1

3

Prohozením čtvrtého a pátého sloupce výchozí mřížky A získáme následující mřížku:
1 2 3 5 4
6 7 8 10 9
11 12 13 15 14
16 17 18 20 19

Výměnou druhého a třetího řádku pak získáme následující mřížku:
1 2 3 5 4
11 12 13 15 14
6 7 8 10 9
16 17 18 20 19

A nakonec prohozením druhého a třetího sloupce získáme následující mřížku, která je totožná s mřížkou B:
1 3 2 5 4
11 13 12 15 14
6 8 7 10 9
16 18 17 20 19

Mřížku A můžete vytvořit identickou s mřížkou B pomocí tří výše uvedených operací a nemůžete tak učinit pomocí menšího počtu operací, proto vypište 3.

Vzorový vstup 2

2 2
1 1
1 1
1 1
1 1000000000

Ukázka výstupu 2

-1

Neexistuje žádný způsob, jak provést operaci, aby se mřížka A shodovala s mřížkou B, takže vypište -1.

Ukázkový vstup 3

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

Ukázka výstupu 3

0

Mřížka A je již na začátku totožná s mřížkou B.

Vzorový vstup 4

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

Ukázka výstupu 4

20


Jako vstup dostanete celé číslo N mezi 1 a 9 včetně.
Spojte N kopií číslice N a vytiskněte výsledný řetězec.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- N je celé číslo mezi 1 a 9 včetně.

Ukázkový vstup 1

3

Ukázkový výstup 1

333

Spojte tři kopie číslice 3, abyste získali řetězec 333.

Ukázkový vstup 2

9

Ukázkový výstup 2

999999999

Jako vstup je zadáno celé číslo N mezi 1 a 9, včetně.
Zřetězte N kopií číslice N a vytiskněte výsledný řetězec.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- N je celé číslo mezi 1 a 9, včetně.

Ukázkový vstup 1

3

Ukázkový výstup 1

333

Zřetězte tři kopie číslice 3, abyste získali řetězec 333.

Ukázkový vstup 2

9

Ukázkový výstup 2

999999999


Pravidelný pětiúhelník P je znázorněn na obrázku níže.

Určete, zda délka úsečky spojující body S_1 a S_2 z P se rovná délce úsečky spojující body T_1 a T_2.

Vstup

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

Výstup

Pokud se délka úsečky spojující body S_1 a S_2 z P rovná délce úsečky spojující body T_1 a T_2, vytiskněte Ano; jinak vytiskněte Ne.

Omezení

- Každý z S_1, S_2, T_1 a T_2 je jedním ze znaků A, B, C, D a E.
- S_1 \neq S_2
- T_1 \neq T_2

Ukázkový vstup 1

AC
EC

Ukázkový výstup 1

Yes

Délka úsečky spojující bod A a bod C bodu P se rovná délce úsečky spojující bod E a bod C.

Ukázkový vstup 2

DA
EA

Ukázkový výstup 2

No

Délka úsečky spojující bod D a bod A z P se nerovná délce úsečky spojující bod E a bod A.

Ukázkový vstup 3

BD
BD

Ukázkový výstup 3

Yes

Pravidelný pětiúhelník P je znázorněn na obrázku níže.

Určete, zda se délka úsečky spojující body S_1 a S_2 čtverce P rovná délce úsečky spojující body T_1 a T_2.

Vstup

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

Výstup

Pokud se délka úsečky spojující body S_1 a S_2 bodu P rovná délce úsečky spojující body T_1 a T_2, vypište Ano; jinak vypište Ne.

Omezení

- Každý z bodů S_1, S_2, T_1 a T_2 je jedním ze znaků A, B, C, D a E.
- S_1 \neq S_2
- T_1 \neq T_2

Vzorový vstup 1

AC
EC

Výstup vzorku 1

Yes

Délka úsečky spojující bod A a bod C bodu P se rovná délce úsečky spojující bod E a bod C.

Vzorový vstup 2

DA
EA

Vzorový výstup 2

No

Délka úsečky spojující bod D a bod A bodu P se nerovná délce úsečky spojující bod E a bod A.

Vzorový vstup 3

BD
BD

Vzorový výstup 3

Yes

Pravidelný pětiúhelník P je znázorněn na obrázku níže.

Určete, zda délka úsečky spojující body S_1 a S_2 z P se rovná délce úsečky spojující body T_1 a T_2.

Vstup

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

Výstup

Pokud se délka úsečky spojující body S_1 a S_2 z P rovná délce úsečky spojující body T_1 a T_2, vytiskněte Ano; jinak tisk č.

Omezení

- Každý z S_1, S_2, T_1 a T_2 je jedním ze znaků A, B, C, D a E.
- S_1 \neq S_2
- T_1 \neq T_2

Ukázkový vstup 1

AC
EC

Ukázkový výstup 1

Yes

Délka úsečky spojující bod A a bod C bodu P se rovná délce úsečky spojující bod E a bod C.

Ukázkový vstup 2

DA
EA

Ukázkový výstup 2

No

Délka úsečky spojující bod D a bod A z P se nerovná délce úsečky spojující bod E a bod A.

Ukázkový vstup 3

BD
BD

Ukázkový výstup 3

Yes


Repunit je celé číslo, jehož cifry jsou v desítkové soustavě všechny 1. Repunity v rostoucím pořadí jsou 1, 11, 111, \ldots.
Najděte N-té nejmenší celé číslo, které lze vyjádřit jako součet přesně tří repunitů.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- N je celé číslo mezi 1 a 333 včetně.

Ukázkový vstup 1

5

Ukázkový výstup 1

113

Celá čísla, která lze vyjádřit jako součet přesně tří repunitů, jsou 3, 13, 23, 33, 113, \ldots v rostoucím pořadí. Například 113 lze vyjádřit jako 113 = 1 + 1 + 111.
Poznámka, že tři repunity nemusí být různé.

Ukázkový vstup 2

19

Ukázkový výstup 2

2333

Ukázkový vstup 3

333

Ukázkový výstup 3

112222222233

Repunit je celé číslo, jehož číslice jsou všechny 1 v desítkové reprezentaci. Počet opakování ve vzestupném pořadí je 1, 11, 111, \ldots.
Najděte N-té nejmenší celé číslo, které lze vyjádřit jako součet přesně tří opakování.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- N je celé číslo v rozmezí od 1 do 333 včetně.

Vzorový vstup 1

5

Ukázkový výstup 1

113

Celá čísla, která lze vyjádřit jako součet přesně tří opakování, jsou 3, 13, 23, 33, 113, \ldots ve vzestupném pořadí. Například 113 lze vyjádřit jako 113 = 1 + 1 + 111.
Všimněte si, že tyto tři jednotky opakování nemusí být odlišné.

Vzorkovací vstup 2

19

Ukázkový výstup 2

2333

Vzorkovací vstup 3

333

Ukázkový výstup 3

112222222233

Repunit je celé číslo, jehož všechny číslice jsou 1 v desítkové reprezentaci. Reputace ve vzestupném pořadí jsou 1, 11, 111, \ldots.
Najděte N-té nejmenší celé číslo, které lze vyjádřit jako součet přesně tří repunit.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- N je celé číslo od 1 do 333 včetně.

Ukázkový vstup 1

5

Ukázkový výstup 1

113

Celá čísla, která lze vyjádřit jako součet přesně tří repunit, jsou 3, 13, 23, 33, 113, \ldots ve vzestupném pořadí. Například 113 lze vyjádřit jako 113 = 1 + 1 + 111.
Všimněte si, že tyto tři reputace nemusí být odlišné.

Ukázkový vstup 2

19

Ukázkový výstup 2

2333

Ukázkový vstup 3

333

Ukázkový výstup 3

112222222233


Máte strom s N vrcholy: vrchol 1, vrchol 2, \ldots, vrchol N.
i-tá hrana (1\leq i\lt N) spojuje vrchol u _ i a vrchol v _ i.
Zvažte opakování následující operace několikrát:

- Vyberte jeden listový vrchol v a odstraňte jej spolu se všemi incidentními hranami.

Najděte minimální počet operací potřebných k odstranění vrcholu 1.
Co je to strom?
Strom je neorientovaný graf, který je souvislý a neobsahuje cykly.
Pro více informací viz: Wikipedie "Strom (teorie grafů)".

Co je to list?
List ve stromu je vrchol se stupněm nejvýše 1.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
u _ 1 v _ 1
u _ 2 v _ 2
\vdots
u _ {N-1} v _ {N-1}

Výstup

Vypište odpověď na jediný řádek.

Omezení

- 2\leq N\leq3\times10^5
- 1\leq u _ i\lt v _ i\leq N\ (1\leq i\lt N)
- Daný graf je strom.
- Všechny vstupní hodnoty jsou celá čísla.

Příklad vstupu 1

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

Příklad výstupu 1

5

Daný graf vypadá takto:

Například můžete zvolit vrcholy 9, 8, 7, 6, 1 v tomto pořadí k odstranění vrcholu 1 v pěti operacích.

Vrchol 1 nelze odstranit ve čtyřech nebo méně operacích, proto vypište 5.

Příklad vstupu 2

6
1 2
2 3
2 4
3 5
3 6

Příklad výstupu 2

1

V daném grafu je vrchol 1 list.
Proto můžete zvolit a odstranit vrchol 1 v první operaci.

Příklad vstupu 3

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

Příklad výstupu 3

12

Dostanete strom s N vrcholy: vrchol 1, vrchol 2, \ldots, vrchol N.
I-tá hrana (1\leq i\lt N) spojuje vrchol u _ i a vrchol v _ i.
Zvažte opakování následující operace několikrát:

- Vyberte jeden vrchol listu v a odstraňte jej spolu se všemi dopadajícími hranami.

Určete minimální počet operací potřebných k odstranění vrcholu 1.
Co je to strom?
Strom je neorientovaný graf, který je propojený a nemá žádné cykly.
Pro více podrobností viz: Wikipedie "Strom (teorie grafů)".

Co je to list?
List na stromě je vrchol se stupněm nejvýše 1.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N
u _ 1 v _ 1
u _ 2 v _ 2
\vdots
u _ {N-1} v _ {N-1}

Výstup

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

Omezení

- 2\leq N\leq3\times10^5
- 1\leq u _ i\lt v _ i\leq N\ (1\leq i\lt N)
- Daný graf je strom.
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

9
1 2
2 3
2 4
2 5
1 6
6 7
7 8
7 9
Ukázkový výstup 1

5

Daný graf vypadá takto:

Můžete například zvolit vrcholy 9,8,7,6,1 v tomto pořadí a odstranit vrchol 1 v pěti operacích.

Vrchol 1 nelze odstranit ve čtyřech nebo méně operacích, proto tiskněte 5.

Vzorkovací vstup 2

6
1 2
2 3
2 4
3 5
3 6

Ukázkový výstup 2

1

V daném grafu je vrchol 1 list.
Proto můžete vybrat a odstranit vrchol 1 v první operaci.

Vzorkovací vstup 3

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

Je dán strom s N vrcholy: vrchol 1, vrchol 2, \ldots, vrchol N.
I-tá hrana (1\leq i\lt N) spojuje vrchol u _ i a vrchol v _ i.
Uvažujme, že následující operaci zopakujeme určitý početkrát:

- Zvolte jeden listový vrchol v a odstraňte jej spolu se všemi padajícími hranami.

Najděte minimální počet operací potřebných k odstranění vrcholu 1.
Co je to strom?
Strom je neorientovaný graf, který je spojitý a nemá cykly.
Podrobnější informace naleznete v článku: Strom (teorie grafů)“ na Wikipedii.

Co je to list?
List ve stromu je vrchol se stupněm nejvýše 1.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N
u _ 1 v _ 1
u _ 2 v _ 2
\vdots
u _ {N-1} v _ {N-1}

Výstup

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

Omezení

- 2\leq N\leq3\times10^5
- 1\leq u _ i\lt v _ i\leq N\ (1\leq i\lt N)
- Daný graf je strom.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázka výstupu 1

5

Daný graf vypadá takto:

Například můžete zvolit vrcholy 9,8,7,6,1 v tomto pořadí, abyste odstranili vrchol 1 v pěti operacích.

Vrchol 1 nelze smazat ve čtyřech nebo méně operacích, proto vypište 5.

Vzorový vstup 2

6
1 2
2 3
2 4
3 5
3 6

Ukázka výstupu 2

1

V daném grafu je vrchol 1 listem.
Proto můžete v první operaci vybrat a odstranit vrchol 1.

Ukázkový vstup 3

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

Ukázka výstupu 3

12


Takahashi se vydá za dobrodružstvím.
Během dobrodružství dojde k N událostem.
I-tá událost (1\leq i\leq N) je reprezentována dvojicí celých čísel (t _ i,x _ i) (1\leq t _ i\leq 2,1\leq x _ i\leq N ) a je následující:

- Pokud t _ i=1, najde jeden lektvar typu x _ i. Může si vybrat, zda ji sebere nebo odhodí.
- Pokud t _ i=2, narazí na jedno monstrum typu x _ i. Pokud má lektvar typu x _ i, může jeden použít k poražení monstra. Pokud to neporazí, bude poražen.

Určete, zda dokáže porazit všechny příšery, aniž by byl poražen.
Pokud nemůže porazit všechny příšery, vytiskni -1.
Jinak nechť K je maximální počet lektvarů, které má v určitém okamžiku během dobrodružství.
Nechť K _ {\min} je minimální hodnota K napříč všemi strategiemi, kde nebude poražen.
Vytiskněte hodnotu K _ {\min} a akce Takahashiho, které dosahují K _ {\min}.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
t_ 1 x _ 1
t_ 2 x _ 2
\vdots
t _ N x _ N

Výstup

Pokud Takahashi nemůže porazit všechny příšery, vytiskni -1.
Pokud může, vytiskněte v prvním řádku hodnotu K _ {\min} a na druhém řádku pro každé i takové, že t _ i=1 vzestupně vytiskněte 1, pokud vyzvedne lektvar nalezený na i-tá událost, jinak 0, oddělené mezerami.
Pokud více sekvencí akcí dosáhne K _ {\min} a umožní mu dokončit dobrodružství, aniž by byl poražen, můžete si kteroukoli z nich vytisknout.

Omezení

- 1\leq N\leq2\times10^5
- 1\leq t _ i\leq2\ (1\leq i\leq N)
- 1\leq x _ i\leq N\ (1\leq i\leq N)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

3
1 1 1 0 0 1 0 1

Ukázkový výstup odpovídá následujícím akcím:

- Najděte lektvary typů 2,3,1 v tomto pořadí. Seberte je všechny.
- Najděte lektvary typu 3,2 v tomto pořadí. Žádné z nich nesbírejte.
- Setkat se s monstrem typu 3. K jeho poražení použijte jeden lektvar typu 3.
- Najděte lektvar typu 3. Zvedni to.
- Najděte lektvar typu 3. Neberte to.
- Setkat se s monstrem typu 3. K jeho poražení použijte jeden lektvar typu 3.
- Najděte lektvar typu 3. Zvedni to.
- Setkání s monstrem typu 2. K jeho poražení použijte jeden lektvar typu 2.
- Setkat se s monstrem typu 3. K jeho poražení použijte jeden lektvar typu 3.
- Setkat se s monstrem typu 1. K jeho poražení použijte jeden lektvar typu 1.

V této posloupnosti akcí je hodnota K 3.
Neexistuje způsob, jak se vyhnout porážce s K\leq 2, takže hledaná hodnota K _ {\min} je 3.
Existuje několik sekvencí akcí, které uspokojí K=3 a umožní mu vyhnout se porážce; kteroukoli z nich si můžete vytisknout.

Ukázkový vstup 2

4
2 3
14
2 1
1 2

Ukázkový výstup 2

-1

Bude nevyhnutelně poražen prvním monstrem, které potká.

Ukázkový vstup 3

30
125
1 2
110
118
2 18
111
2 11
121
16
2 2
2 10
111
124
111
1 3
1 2
118
2 25
18
110
111
2 18
2 10
110
2 2
124
110
2 10
125
2 6

Ukázkový výstup 3

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

Takahashi se vydá na dobrodružství.
Během dobrodružství dojde k N událostem.
I-tá událost (1\leq ileq N) je reprezentována dvojicí celých čísel (t _ i,x _ i) (1\leq t _ i\leq 2,1\leq x _ i\leq N) a je následující:

- Pokud t _ i=1, najde jeden lektvar typu x _ i. Může si vybrat, zda si ji vezme nebo odhodí.
- Pokud t _ i=2, setká se s jednou příšerou typu x _ i. Pokud má lektvar typu x _i, může ho použít k poražení příšery. Pokud je neporazí, bude poražen.

Zjistěte, zda dokáže porazit všechny příšery, aniž by byl poražen.
Pokud se mu nepodaří porazit všechny příšery, vytiskněte -1.
V opačném případě nechť K je maximální počet lektvarů, které má v určitém okamžiku během dobrodružství.
Nechť K _ {\min} je minimální hodnota K ve všech strategiích, kde nebude poražen.
Vytiskne hodnotu K _ {\min} a akce Takahashiho, které dosáhnou K _ {\min}.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N
t _ 1 x _ 1
t _ 2 x _ 2
\vdots
t _ N x _ N

Výstup

Pokud Takahashi nemůže porazit všechny příšery, vytiskněte -1.
Pokud může, vytiskněte hodnotu K _ {\min} na prvním řádku a na druhém řádku, pro každý i takový, že t _ i=1 ve vzestupném pořadí, vytiskněte 1, pokud zvedne lektvar nalezený při i-té události, a 0 v opačném případě, oddělené mezerami.
Pokud více sekvencí akcí dosáhne K _ {\min} a umožní mu dokončit dobrodružství, aniž by byl poražen, můžete vytisknout kteroukoli z nich.

Omezení

- 1\leq N\leq2\times10^5
- 1\leq t _ i\leq2\ (1\leq i\leq N)
- 1\leq x _ i\leq N\ (1\leq i\leq N)
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

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

Ukázkový výstup 1

3
1 1 1 0 0 1 0 1

Ukázkový výstup odpovídá následujícím akcím:

- Najděte lektvary typu 2,3,1 v tomto pořadí. Seberte je všechny.
- Najděte lektvary typu 3,2 v tomto pořadí. Žádný z nich nesbírejte.
- Setkejte se s příšerou typu 3. Použijte jeden lektvar typu 3, abyste ho porazili.
- Najděte lektvar typu 3. Seberte to.
- Najděte lektvar typu 3. Nesbírejte to.
- Setkejte se s příšerou typu 3. Použijte jeden lektvar typu 3, abyste ho porazili.
- Najděte lektvar typu 3. Seberte to.
- Setkejte se s příšerou typu 2. Použijte jeden lektvar typu 2, abyste ho porazili.
- Setkejte se s příšerou typu 3. Použijte jeden lektvar typu 3, abyste ho porazili.
- Setkejte se s příšerou typu 1. Použijte jeden lektvar typu 1, abyste ho porazili.

V této posloupnosti akcí je hodnota K 3.
Neexistuje způsob, jak se vyhnout porážce s K\leq 2, takže hledaná hodnota K _ {\min} je 3.
Existuje několik sekvencí akcí, které splňují K=3 a umožňují mu vyhnout se porážce; Můžete si vytisknout kteroukoli z nich.

Vzorkovací vstup 2

4
2 3
1 4
2 1
1 2

Ukázkový výstup 2

-1

Nevyhnutelně bude poražen první příšerou, na kterou narazí.

Vzorkovací vstup 3

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

Ukázkový výstup 3

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

Takahashi se vydá na dobrodružství.
Během dobrodružství se stane N událostí.
i-tá událost (1\leq i\leq N) je reprezentována dvojicí celých čísel (t _ i,x _ i) (1\leq t _ i\leq 2,1\leq x _ i\leq N) a je následující:

- Pokud t _ i=1, najde jeden lektvar typu x _ i. Může se rozhodnout, zda ho vezme nebo ho zahodí.
- Pokud t _ i=2, potká jedno monstrum typu x _ i. Pokud má lektvar typu x _ i, může ho použít k poražení monstra. Pokud ho neporazí, bude poražen.

Určete, zda může porazit všechna monstra bez toho, aby byl poražen.
Pokud nemůže porazit všechna monstra, vypište -1.
Jinak nechť je K maximální počet lektvarů, které má v nějakém okamžiku během dobrodružství.
Nechť K _ {\min} je minimální hodnota K napříč všemi strategiemi, ve kterých nebude poražen.
Vypište hodnotu K _ {\min} a akce Takahashiho, které dosáhnou K _ {\min}.

Vstup

Vstup je zadaný ze standardního vstupu v následujícím formátu:
N
t _ 1 x _ 1
t _ 2 x _ 2
\vdots
t _ N x _ N

Výstup

Pokud Takahashi nemůže porazit všechna monstra, vypište -1.
Pokud může, vypište hodnotu K _ {\min} na první řádek a na druhý řádek pro každé i takové, že t _ i=1 v rostoucím pořadí, vypište 1, pokud vezme lektvar nalezený při i-té události, a 0 jinak, oddělené mezerami.
Pokud více posloupností akcí dosáhne K _ {\min} a umožní mu dokončit dobrodružství bez porážky, můžete vypsat kteroukoliv z nich.

Omezení

- 1\leq N\leq2\times10^5
- 1\leq t _ i\leq2\ (1\leq i\leq N)
- 1\leq x _ i\leq N\ (1\leq i\leq N)
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

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

Vzorový výstup 1

3
1 1 1 0 0 1 0 1

Vzorový vstup 2

4
2 3
1 4
2 1
1 2

Vzorový výstup 2

-1

Vzorový vstup 3

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

Vzorový výstup 3

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


Takahashi, mladý nadšenec do baseballu, byl letos velmi hodným chlapcem, takže Santa se rozhodl dát mu pálku nebo rukavici, podle toho, co je dražší.
Pokud pálka stojí B jenů a rukavice stojí G jenů (B\neq G), co dá Santa Takahashimu?

Vstup

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

Výstup

Pokud Santa dá Takahashimu pálku, vytiskněte Bat; pokud mu dá rukavici, vytiskněte Glove.

Omezení

- B a G jsou různá celá čísla mezi 1 a 1000 včetně.

Ukázkový vstup 1

300 100

Ukázkový výstup 1

Bat

Pálka je dražší než rukavice, takže Santa dá Takahashimu pálku.

Ukázkový vstup 2

334 343

Ukázkový výstup 2

Glove

Rukavice je dražší než pálka, takže Santa dá Takahashimu rukavici.

Takahashi, mladý baseballový nadšenec, byl letos velmi hodný chlapec, a tak se Santa rozhodl dát mu pálku nebo rukavici, podle toho, co je dražší.
Pokud netopýr stojí B jenů a rukavice G jen (B\neq G), kterou dá Santa Takahashimu?

Vstup

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

Výstup

Pokud Santa dá Takahashimu netopýra, vytiskněte Bat; když mu Santa dá rukavici, vytiskni Rukavici.

Omezení

- B a G jsou různá celá čísla od 1 do 1000 včetně.

Ukázkový vstup 1

300 100

Ukázkový výstup 1

Netopýr

Netopýr je dražší než rukavice, takže Santa dá netopýra Takahashimu.

Ukázkový vstup 2

334 343

Ukázkový výstup 2

Rukavice

Rukavice je dražší než netopýr, takže Santa dá rukavici Takahashimu.

Takahashi, mladý baseballový nadšenec, byl letos velmi hodný chlapec, a tak se Santa rozhodl, že mu dá pálku nebo rukavici, podle toho, co je dražší.
Pokud pálka stojí B jenů a rukavice stojí G jeny (B\neq G), kterou z nich dá Santa Takahashimu?

Vstup

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

Výstup

Pokud Santa dá Takahashimu netopýra, vytiskni Netopýra; pokud mu Santa dá rukavici, vytiskni Rukavice.

Omezení

- B a G jsou různá celá čísla mezi 1 a 1000 včetně.

Vzorový vstup 1

300 100

Ukázkový výstup 1

pálka

Pálka je dražší než rukavice, takže Santa dá Takahashimu pálku.

Vzorkovací vstup 2

334 343

Ukázkový výstup 2

Rukavice

Rukavice je dražší než pálka, takže Santa dá Takahashimu rukavici.


Na silnici, která se táhne nekonečně na východ a západ, je souřadnice bodu umístěného x metrů na východ od určitého referenčního bodu této silnice definována jako x.
Konkrétně souřadnice bodu umístěného x metrů na západ od referenčního bodu je -x.
Snuke umístí vánoční stromky na body na této silnici v intervalech M metrů, počínaje bodem se souřadnicí A.
Jinými slovy, umístí vánoční stromek na každý bod, který lze vyjádřit jako A+kM pomocí nějakého celého čísla k.
Takahashi a Aoki stojí na bodech se souřadnicemi L a R (L\leq R), respektive.
Zjistěte počet vánočních stromků, které budou umístěny mezi Takahashim a Aoki (včetně bodů, kde stojí).

Vstup

Vstup je poskytnut ve standardním vstupním formátu:
A M L R

Výstup

Vytiskněte počet vánočních stromků, které budou umístěny mezi Takahashim a Aoki (včetně bodů, kde stojí).

Omezení

- -10^{18}\leq A \leq 10^{18}
- 1\leq M \leq 10^9
- -10^{18}\leq L\leq R \leq 10^{18}
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

5 3 -1 6

Ukázkový výstup 1

3

Snuke umístí vánoční stromky na body se souřadnicemi \dots,-4,-1,2,5,8,11,14\dots.
Tři z nich na souřadnicích -1, 2 a 5 jsou mezi Takahashim a Aoki.

Ukázkový vstup 2

-2 2 1 1

Ukázkový výstup 2

0

Někdy, Takahashi a Aoki stojí na stejném bodě.

Ukázkový vstup 3

-177018739841739480 2436426 -80154573737296504 585335723211047198

Ukázkový výstup 3

273142010859

Existuje silnice, která se táhne nekonečně na východ a západ, a souřadnice bodu vzdáleného x metrů na východ od určitého vztažného bodu na této silnici je definována jako x.
Konkrétně souřadnice bodu ležícího x metrů na západ od referenčního bodu je -x.
Snuke rozmístí vánoční stromky v bodech na silnici v intervalech M metrů, počínaje bodem se souřadnicí A.
Jinými slovy, v každém bodě postaví vánoční stromek, který lze vyjádřit jako A+kM pomocí nějakého celého čísla k.
Takahashi a Aoki stojí v bodech se souřadnicemi L a R (L\leq R).
Určete počet vánočních stromků, které budou postaveny mezi Takahashim a Aokim (včetně bodů, kde stojí).

Zadání

Vstupní data jsou zadána ze standardního vstupu v následujícím formátu:
A M L R

Výstup

Vypište počet vánočních stromků, které budou rozestavěny mezi Takahashim a Aokim (včetně bodů, kde stojí).

Omezení

-10^{18}\leq A \leq 10^{18}
- 1\leq M \leq 10^9
-10^{18}\leq L\leq R \leq 10^{18}
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

5 3 -1 6

Ukázkový výstup 1

3

Snuke nastaví vánoční stromky v bodech se souřadnicemi \dots,-4,-1,2,5,8,11,14\dots.
Tři z nich na souřadnicích -1, 2 a 5 jsou mezi Takahashim a Aokim.

Vzorový vstup 2

-2 2 1 1

Ukázka výstupu 2

0

Někdy stojí Takahashi a Aoki ve stejném bodě.

Vzorek vstupu 3

-177018739841739480 2436426 -80154573737296504 585335723211047198

 Ukázka výstupu 3

273142010859

Existuje cesta, která se nekonečně táhne na východ a západ a souřadnice bodu nacházejícího se x metrů na východ od určitého referenčního bodu na této cestě je definována jako x.
Konkrétně, souřadnice bodu umístěného o x metrů na západ od referenčního bodu je -x.
Snuke postaví vánoční stromky na body na silnici v intervalech M metrů, počínaje bodem se souřadnicí A.
Jinými slovy, v každém bodě postaví vánoční stromeček, který lze vyjádřit jako A+kM pomocí nějakého celého čísla k.
Takahashi a Aoki stojí v bodech se souřadnicemi L a R (L\leq R).
Najděte počet vánočních stromků, které budou postaveny mezi Takahashi a Aoki (včetně bodů, kde stojí).

Vstup

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

Výstup

Vytiskněte počet vánočních stromků, které budou postaveny mezi Takahashi a Aoki (včetně bodů, kde stojí).

Omezení

- -10^{18}\leq A \leq 10^{18}
- 1\leq M \leq 10^9
- -10^{18}\leq L\leq R \leq 10^{18}
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

5 3 -1 6

Ukázkový výstup 1

3

Snuke postaví vánoční stromky v bodech se souřadnicemi \tečky,-4,-1,2,5,8,11,14\tečky.
Tři z nich na souřadnicích -1, 2 a 5 jsou mezi Takahashi a Aoki.

Ukázkový vstup 2

-2 2 1 1

Ukázkový výstup 2

0

Někdy stojí Takahashi a Aoki na stejném místě.

Ukázkový vstup 3

-177018739841739480 2436426 -80154573737296504 585335723211047198

Ukázkový výstup 3

273142010859