Dostanete celé číslo N a řetězec S skládající se z 0, 1 a ?.
Nechť T je množina hodnot, které lze získat nahrazením každého ? v S s 0 nebo 1 a interpretovat výsledek jako binární celé číslo.
Pokud například S= ?0?, máme T=\lbrace 000_{(2)},001_{(2)},100_{(2)},101_{(2)}\rbrace=\lbrace 0, 1,4,5\rbrace.
Vytiskněte (jako dekadické celé číslo) největší hodnotu v T menší nebo rovnou N.
Pokud T neobsahuje hodnotu menší nebo rovnou N, vytiskněte místo toho -1.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- S je řetězec skládající se z 0, 1 a ?.
- Délka S je mezi 1 a 60 včetně.
- 1\leq N \leq 10^{18}
- N je celé číslo.

Ukázkový vstup 1

?0?
2

Ukázkový výstup 1

1

Jak je uvedeno v příkazu k problému, T=\lbrace 0,1,4,5\rbrace.
Mezi nimi jsou 0 a 1 menší nebo rovné N, takže byste měli vytisknout největší z nich, 1.

Ukázkový vstup 2

101
4

Ukázkový výstup 2

-1

Máme T=\lbrace 5\rbrace, které neobsahuje hodnotu menší nebo rovnou N.

Ukázkový vstup 3

?0?
1000000000000000000

Ukázkový výstup 3

5

Je zadáno celé číslo N a řetězec S, který se skládá z 0, 1 a ?.
Nechť T je množina hodnot, které lze získat nahrazením každého ? v S číslem 0 nebo 1 a interpretací výsledku jako binárního celého čísla.
Například pokud S= ?0?, máme T=\lbrace 000_{(2)},001_{(2)},100_{(2)},101_{(2)}\rbrace=\lbrace 0,1,4,5\rbrace.
Vypište (jako celé desetinné číslo) největší hodnotu v T menší nebo rovnou N.
Pokud T neobsahuje hodnotu menší nebo rovnou N, vypište místo toho -1.

Vstup

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

Výstup

Vypište odpověď.

Omezení

- S je řetězec složený z 0, 1 a ?.
- Délka S je v rozmezí 1 až 60 včetně.
- 1\leq N \leq 10^{18}
- N je celé číslo.

Vzorový vstup 1

?0?
2

Vzorový výstup 1

1

Jak je uvedeno v zadání úlohy, T=\lbrace 0,1,4,5\rbrace.
Z nich 0 a 1 jsou menší nebo rovny N, takže byste měli vypsat největší z nich, 1.

Vzorový vstup 2

101
4

Vzorový výstup 2

-1

Máme T=\lbrace 5\rbrace, které neobsahuje hodnotu menší nebo rovnou N.

Vzorový vstup 3

?0?
1000000000000000000

Vzorový výstup 3

5

Je zadáno celé číslo N a řetězec S, který se skládá z 0, 1 a ?.
Nechť T je množina hodnot, které lze získat nahrazením každého ? v S číslem 0 nebo 1 a interpretací výsledku jako binárního celého čísla.
Například pokud S= ?0?, máme T=\lbrace 000_{(2)},001_{(2)},100_{(2)},101_{(2)}\rbrace=\lbrace 0,1,4,5\rbrace.
Vypište (jako celé desetinné číslo) největší hodnotu v T menší nebo rovnou N.
Pokud T neobsahuje hodnotu menší nebo rovnou N, vypište místo toho -1.

Vstup

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

Výstup

Vypište odpověď.

Omezení

- S je řetězec složený z 0, 1 a ?.
- Délka S je v rozmezí 1 až 60 včetně.
- 1\leq N \leq 10^{18}
- N je celé číslo.

Vzorový vstup 1

?0?
2

Vzorový výstup 1

1

Jak je uvedeno v zadání úlohy, T=\lbrace 0,1,4,5\rbrace.
Z nich 0 a 1 jsou menší nebo rovny N, takže byste měli vypsat největší z nich, 1.

Vzorový vstup 2

101
4

Ukázkový výstup 2

-1

Máme T=\lbrace 5\rbrace, které neobsahuje hodnotu menší nebo rovnou N.

Vzorový vstup 3

?0?
1000000000000000000

Ukázkový výstup 3

5


Máme mřížku s řádky H a sloupci W.
Nechť (i,j) označuje čtverec v i-tém řádku shora a j-tém sloupci zleva.
Každý čtverec v mřížce je jeden z následujících: startovní čtverec, cílový čtverec, prázdný čtverec, čtverec na zdi a čtverec s bonbóny.
(i,j) je reprezentován znakem A_{i,j} a je startovním čtvercem, pokud A_{i,j}= S, cílovým čtvercem, pokud A_{i,j}= G, prázdným čtvercem, pokud A_{i,j}= ., nástěnným čtvercem, pokud A_{i,j}= #, a cukrářským čtvercem, pokud A_{i,j}= o.
Zde je zaručeno, že existuje přesně jeden startovní, přesně jeden cílový a nejvýše 18 cukrářských čtverců.
Takahaši je nyní na startovním čtverci.
Může opakovat přesun na vertikálně nebo horizontálně sousedící nestěnové políčko.
Chce dosáhnout cílového čtverce v nejvýše T tazích.
Určete, zda je to možné.
Pokud je to možné, najděte maximální počet čtverců s bonbóny, které může na cestě do cílového čtverce, kde musí skončit, navštívit.
Každý čtverec s bonbóny se počítá pouze jednou, i když ho navštíví vícekrát.

Vstup

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

Výstup

Pokud není možné dosáhnout cílového čtverce v nejvýše T tazích, vypište -1.
V opačném případě vypište maximální počet čtverců s bonbóny, které lze navštívit na cestě k cílovému čtverci, kde musí Takahashi skončit.

Omezení

- 1\leq H,W \leq 300
- 1 \leq T \leq 2\krát 10^6
- H, W a T jsou celá čísla.
- A_{i,j} je jedno z S, G, ., # a o.
- Přesně jedna dvojice (i,j) splňuje A_{i,j}= S.
- Přesně jedna dvojice (i,j) splňuje A_{i,j}= G.
- Nejvíce 18 dvojic (i,j) splňuje A_{i,j}= o.

Vzorový vstup 1

3 3 5
S.G
o#o
.#.

Vzorový výstup 1

1

Pokud provede čtyři tahy jako (1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) \rightarrow (1,3), může navštívit jeden čtverec s bonbóny a skončit na cílovém čtverci.
Nemůže udělat pět nebo méně tahů, aby navštívil dva čtverce s bonbóny a skončil na cílovém čtverci, takže odpověď je 1.
Všimněte si, že provést pět tahů jako (1,1) \rightarrow (2,1) \rightarrow (1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) a navštívit dva čtverce s bonbóny je neplatné, protože by neskončil v cílovém čtverci.

Vzorový vstup 2

3 3 1
S.G
.#o
o#.

Vzorový výstup 2

-1

Nemůže dosáhnout cílového čtverce jedním nebo méně tahy.

Vzorový vstup 3

5 10 2000000
S.o..ooo..
..o..o.o..
..o..ooo..
..o..o.o..
..o..ooo.G

Vzorový výstup 3

18

Máme mřížku s řádky H a sloupci W.
Nechť (i,j) označuje čtverec v i-tém řádku shora a j-tém sloupci zleva.
Každý čtverec v mřížce je jeden z následujících: startovní čtverec, cílový čtverec, prázdný čtverec, čtverec na zdi a čtverec s bonbóny.
(i,j) je reprezentován znakem A_{i,j} a je startovním čtvercem, pokud A_{i,j}= S, cílovým čtvercem, pokud A_{i,j}= G, prázdným čtvercem, pokud A_{i,j}= ., nástěnným čtvercem, pokud A_{i,j}= #, a cukrářským čtvercem, pokud A_{i,j}= o.
Zde je zaručeno, že existuje přesně jeden startovní, přesně jeden cílový a nejvýše 18 cukrářských čtverců.
Takahaši je nyní na startovním čtverci.
Může opakovat přesun na vertikálně nebo horizontálně sousedící nestěnové políčko.
Chce dosáhnout cílového čtverce v nejvýše T tazích.
Určete, zda je to možné.
Pokud je to možné, najděte maximální počet cukrářských čtverců, které může na cestě do cílového čtverce, kde musí skončit, navštívit.
Každý čtverec s bonbóny se počítá pouze jednou, i když ho navštíví vícekrát.

Vstup

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

Výstup

Pokud není možné dosáhnout cílového čtverce v nejvýše T tazích, vypište -1.
V opačném případě vypište maximální počet cukrářských políček, která lze navštívit na cestě k cílovému políčku, kde musí Takahashi skončit.

Omezení

- 1\leq H,W \leq 300
- 1 \leq T \leq 2\krát 10^6
- H, W a T jsou celá čísla.
- A_{i,j} je jedno z S, G, ., # a o.
- Přesně jedna dvojice (i,j) splňuje A_{i,j}= S.
- Přesně jedna dvojice (i,j) splňuje A_{i,j}= G.
- Nejvíce 18 dvojic (i,j) splňuje A_{i,j}= o.

Vzorový vstup 1

3 3 5
S.G
o#o
.#.

Vzorový výstup 1

1

Pokud provede čtyři tahy jako (1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) \rightarrow (1,3), může navštívit jedno cukrářské pole a skončit na cílovém poli.
Nemůže udělat pět nebo méně tahů, aby navštívil dvě políčka s bonbóny a skončil na cílovém políčku, takže odpověď je 1.
Všimněte si, že provést pět tahů jako (1,1) \rightarrow (2,1) \rightarrow (1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) a navštívit dva čtverce bonbónů je neplatné, protože by neskončil v cílovém čtverci.

Vzorový vstup 2

3 3 1
S.G
.#o
o#.

Vzorový výstup 2

-1

Nemůže dosáhnout cílového čtverce jedním nebo méně tahy.

Vzorový vstup 3

5 10 2000000
S.o..ooo..
..o..o.o..
..o..ooo..
..o..o.o..
..o..ooo.G

Vzorový výstup 3

18

Máme mřížku s H řádky a W sloupci.
Označme (i,j) čtverec v i-té řadě shora a j-tý sloupec zleva.
Každý čtverec v mřížce je jedním z následujících: počáteční čtverec, cílový čtverec, prázdný čtverec, stěnový čtverec a cukrový čtverec.
(i,j) je reprezentováno znakem A_{i,j} a je počátečním čtvercem, pokud A_{i,j}= S, cílovým čtvercem, pokud A_{i,j}= G, prázdným čtvercem, pokud A_ {i,j}= ., nástěnný čtverec, pokud A_{i,j}= #, a bonbónový čtverec, pokud A_{i,j}= o.
Zde je zaručeno, že existuje přesně jeden start, přesně jeden cíl a maximálně 18 bonbónových polí.
Takahashi je nyní na startovním poli.
Může opakovat přesun na svisle nebo vodorovně sousedící nestěnné pole.
Chce dosáhnout cílového pole nejvýše za T tahů.
Zjistěte, zda je to možné.
Pokud je to možné, najděte maximální počet bonbónových polí, která může navštívit na cestě k cílovému poli, kde musí skončit.
Každý bonbónový čtvereček se počítá pouze jednou, i když je navštíven vícekrát.

Vstup

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

Výstup

Pokud není možné dosáhnout cílového pole nejvýše za T tahů, vytiskněte -1.
V opačném případě vytiskněte maximální počet bonbónových polí, které lze navštívit na cestě k cílovému náměstí, kde musí Takahashi skončit.

Omezení

- 1\leq H,W \leq 300
- 1 \leq T \leq 2\times 10^6
- H, W a T jsou celá čísla.
- A_{i,j} je jedno z S, G, ., # a o.
- Přesně jeden pár (i,j) splňuje A_{i,j}= S.
- Přesně jeden pár (i,j) splňuje A_{i,j}= G.
- Maximálně 18 párů (i,j) vyhovuje A_{i,j}= o.

Ukázkový vstup 1

3 3 5
S.G
o#o
.#.

Ukázkový výstup 1

1

Pokud udělá čtyři tahy jako (1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) \rightarrow (1,3), může navštívit jedno cukroví pole a skončit na brankový čtverec.
Nemůže udělat pět nebo méně tahů, aby navštívil dvě pole bonbónů a skončil na cílovém poli, takže odpověď je 1.
Všimněte si, že provedením pěti tahů jako (1,1) \rightarrow (2,1) \rightarrow (1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) navštívíte dvě cukroví pole je neplatný, protože by nedokončil na cílovém poli.

Ukázkový vstup 2

3 3 1
S.G
.#Ó
Ó#.

Ukázkový výstup 2

-1

Nemůže dosáhnout cílového pole jedním nebo méně tahy.

Ukázkový vstup 3

5 10 2000000
S.o..ooo..
..o..o.o.
..o..ooo..
..o..o.o.
..o..ooo.G

Ukázkový výstup 3

18


Řetězec typu DDoS je řetězec délky 4, který se skládá z velkých a malých písmen anglické abecedy a splňuje obě následující podmínky.

- První, druhý a čtvrtý znak jsou velká písmena anglické abecedy a třetí znak je malé písmeno anglické abecedy.
- První a druhý znak jsou stejné.

Například DDoS a AAaA jsou řetězce typu DDoS, zatímco ani ddos, ani IPoE nejsou.
Je vám dán řetězec S skládající se z velkých a malých písmen anglické abecedy a ?.
Nechť q je počet výskytů ? v S. Existuje 52^q řetězců, které lze získat nezávislým nahrazením každého ? v S velkým nebo malým písmenem anglické abecedy.
Mezi těmito řetězci najděte počet těch, které neobsahují řetězec typu DDoS jako subsekvenci, modulo 998244353.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- S se skládá z velkých písmen anglické abecedy, malých písmen anglické abecedy a ?.
- Délka S je mezi 4 a 3\times 10^5, včetně.

Ukázkový vstup 1

DD??S

Ukázkový výstup 1

676

Když je alespoň jeden z ? nahrazen malým písmenem anglické abecedy, výsledný řetězec bude obsahovat řetězec typu DDoS jako subsekvenci.

Ukázkový vstup 2

????????????????????????????????????????

Ukázkový výstup 2

858572093

Najděte počet modulo 998244353.

Ukázkový vstup 3

?D??S

Ukázkový výstup 3

136604

Řetězec typu DDoS je řetězec délky 4 skládající se z velkých a malých anglických písmen splňující obě následující podmínky.

- První, druhý a čtvrtý znak jsou velká anglická písmena a třetí znak je malé anglické písmeno.
- První a druhý znak jsou stejné.

Například DDoS a AAaA jsou řetězce typu DDoS, zatímco ddos ani IPoE nejsou.
Dostanete řetězec S skládající se z velkých a malých anglických písmen a ?.
Nechť q je počet výskytů ? v S. Existuje 52^q řetězců, které lze získat nezávislým nahrazením každého ? v S s velkým nebo malým anglickým písmenem.
Mezi těmito řetězci najděte počet řetězců, které neobsahují řetězec typu DDoS jako podsekvenci, modulo 998244353.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- S se skládá z velkých anglických písmen, malých anglických písmen a ?.
- Délka S je mezi 4 a 3\krát 10^5 včetně.

Ukázkový vstup 1

DD??S

Ukázkový výstup 1

676

Když je alespoň jedno z ?s nahrazeno malým anglickým písmenem, výsledný řetězec bude obsahovat řetězec typu DDoS jako podsekvenci.

Ukázkový vstup 2

????????????????????????????????????????????????

Ukázkový výstup 2

858572093

Najděte počet modulo 998244353.

Ukázkový vstup 3

?D??S

Ukázkový výstup 3

136604

Řetězec typu DDoS je řetězec o délce 4 skládající se z velkých a malých anglických písmen splňujících obě následující podmínky.

- První, druhý a čtvrtý znak jsou velká anglická písmena a třetí znak je malé anglické písmeno.
- První a druhý znak jsou stejné.

Například DDoS a AAaA jsou řetězce typu DDoS, zatímco ani ddos ani IPoE nejsou.
Dostanete řetězec S skládající se z velkých a malých anglických písmen a ?.
Nechť q je počet výskytů ? v S. Existuje 52^q řetězců, které lze získat nezávislým nahrazením každého ? v S s velkým nebo malým anglickým písmenem.
Mezi těmito řetězci najděte počet řetězců, které neobsahují řetězec typu DDoS jako podsekvenci, modulo 998244353.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- S se skládá z velkých anglických písmen, malých anglických písmen a ?.
- Délka S je mezi 4 a 3krát 10^5 včetně.

Vzorový vstup 1

DD?? S

Ukázkový výstup 1

676

Pokud je alespoň jedno z písmen s nahrazeno malým anglickým písmenem, výsledný řetězec bude obsahovat řetězec typu DDoS jako podsekvenci.

Vzorkovací vstup 2

????????????????????????????????????????

Ukázkový výstup 2

858572093

Najděte počet modulo 998244353.

Vzorkovací vstup 3

? D?? S

Ukázkový výstup 3

136604


Je zde nepřítel který má výdrž A. Pokaždé, když na nepřítele zaútočíte, jeho výdrž se sníží o B.
Kolikrát minimálně musíte na nepřítele zaútočit, aby jeho výdrž byla 0 nebo méně?

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- 1 \le A,B \le 10^{18}
- A a B jsou celá čísla.

Ukázkový vstup 1

7 3

Ukázkový výstup 1

3

Útok třikrát sníží výdrž nepřítele na -2.
Útok pouze dvakrát ponechává výdrž 1, takže musíte zaútočit třikrát.

Ukázkový vstup 2

123456789123456789 987654321

Ukázkový výstup 2

124999999

Ukázkový vstup 3

999999999999999998 2

Ukázkový výstup 3

499999999999999999

Je zde nepřítel s výdrží A.  Pokaždé, když zaútočíš na nepřítele, jeho výdrž se sníží o B.
Alespoň kolikrát musíte zaútočit na nepřítele, aby jeho výdrž byla 0 nebo méně?

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- 1 \le A,B \le 10^{18}
- A a B jsou celá čísla.

Vzorový vstup 1

7 3

Ukázkový výstup 1

3

Pokud zaútočíš třikrát, zvýší se nepřítelova výdrž -2.
Útok pouze dvakrát dělá výdrž 1, takže na něj musíte zaútočit třikrát.

Vzorkovací vstup 2

123456789123456789 987654321

Ukázkový výstup 2

124999999

Vzorkovací vstup 3

999999999999999998 2

Ukázkový výstup 3

499999999999999999

Existuje nepřítel s výdrží A. Pokaždé, když na něj zaútočíte, sníží se jeho výdrž o B.
Kolikrát musíte na nepřítele zaútočit, aby jeho výdrž byla 0 nebo méně?

Zadání

Zadání se zadává ze standardního zadání v následujícím formátu:
A B

Výstup

Vypište odpověď.

Omezení

- 1 \le A,B \le 10^{18}
- A a B jsou celá čísla.

Příklad Vstup 1

7 3

Vzorový výstup 1

3

Třikrát zaútočíš a výdrž nepřítele je -2.
Při útoku pouze dvakrát je výdrž 1, takže je třeba zaútočit třikrát.

Ukázkový vstup 2

123456789123456789 987654321

Ukázka výstupu 2

124999999

Ukázkový vstup 3

999999999999999998 2

Vzorový výstup 3

499999999999999999


Existuje mřížka s H vodorovnými řádky a W svislými sloupci. Každá buňka má na sobě napsáno malé písmeno anglické abecedy.
Buňku v i-tém řádku shora a j-tém sloupci zleva označíme jako (i, j).
Písmena napsaná na mřížce jsou reprezentována H řetězci S_1,S_2,\ldots, S_H, každý délky W.
J-té písmeno S_i reprezentuje písmeno napsané na (i, j).
Na mřížce existuje jedinečná sada
sousedních buněk (ve vertikálním, horizontálním nebo diagonálním směru),
na kterých jsou v tomto pořadí napsána písmena s, n, u, k a e.
Najděte pozice těchto buněk a vytiskněte je ve formátu specifikovaném v sekci Výstup.
Pětice buněk (A_1,A_2,A_3,A_4,A_5) tvoří
sadu sousedních buněk (ve vertikálním, horizontálním nebo diagonálním směru) s písmeny s, n, u, k a e napsanými v tomto pořadí,
pokud a pouze pokud jsou splněny všechny následující podmínky.

- A_1,A_2,A_3,A_4 a A_5 mají na sobě napsána písmena s, n, u, k a e, v tomto pořadí.
- Pro všechna 1\leq i\leq 4 buňky A_i a A_{i+1} sdílejí roh nebo stranu.
- Středy A_1,A_2,A_3,A_4 a A_5 jsou na společné přímce v pravidelných intervalech.

Vstup

Vstup je dán formátem:
H W
S_1
S_2
\vdots
S_H

Výstup

Vytiskněte pět řádků v následujícím formátu.
Nechť (R_1,C_1), (R_2,C_2)\ldots,(R_5,C_5) jsou buňky hledané sady s písmeny s, n, u, k a e napsanými na nich, respektive.
I-tý řádek by měl obsahovat R_i a C_i v tomto pořadí, odděleny mezerou.
Jinými slovy, vytiskněte je ve formátu:
R_1 C_1
R_2 C_2
\vdots
R_5 C_5

Viz také Ukázkové Vstupy a Výstupy níže.

Omezení

- 5\leq H\leq 100
- 5\leq W\leq 100
- H a W jsou celá čísla.
- S_i je řetězec délky W skládající se z malých písmen anglické abecedy.
- Daná mřížka má jedinečnou sadu buněk splňující podmínky.

Ukázkový Vstup 1

6 6
vgxgpu
amkxks
zhkbpp
hykink
esnuke
zplvfj

Ukázkový Výstup 1

5 2
5 3
5 4
5 5
5 6

Pětice (A_1,A_2,A_3,A_4,A_5)=((5,2),(5,3),(5,4),(5,5),(5,6)) splňuje podmínky.
Skutečně, písmena napsaná na nich jsou s, n, u, k a e;
pro všechna 1\leq i\leq 4 buňky A_i a A_{i+1} sdílejí stranu;
a středy buněk jsou na společné přímce.

Ukázkový Vstup 2

5 5
ezzzz
zkzzz
ezuzs
zzznz
zzzzs

Ukázkový Výstup 2

5 5
4 4
3 3
2 2
1 1

Pětice (A_1,A_2,A_3,A_4,A_5)=((5,5),(4,4),(3,3),(2,2),(1,1)) splňuje podmínky.
Například, (A_1,A_2,A_3,A_4,A_5)=((3,5),(4,4),(3,3),(2,2),(3,1)) porušuje třetí podmínku, protože středy buněk nejsou na společné přímce, i když splňuje první a druhou podmínku.

Ukázkový Vstup 3

10 10
kseeusenuk
usesenesnn
kskekeeses
nesnusnkkn
snenuuenke
kukknkeuss
neunnennue
sknuessuku
nksneekknk
neeeuknenk

Ukázkový Výstup 3

9 3
8 3
7 3
6 3
5 3

Je zde mřížka s vodorovnými řádky H a svislými sloupci W.  V každém políčku je napsáno malé anglické písmeno.
Buňku v i-tém řádku shora a j-tém sloupci zleva označujeme (i, j).
Písmena napsaná na mřížce jsou reprezentována řetězci H S_1,S_2,\ldots, S_H, každý o délce W.
J-té písmeno S_i představuje písmeno napsané na (i, j).
Existuje jedinečná množina
sousedících políček (jdoucích vertikálně, horizontálně nebo diagonálně) v mřížce
s písmeny s, n, u, k a e v tomto pořadí.
Najděte pozice takových buněk a vypište je ve formátu uvedeném v části Výstup.
Říká se, že trojice pěti buněk (A_1,A_2,A_3,A_4,A_5) tvoří tzv.
sadu sousedících buněk (jdoucích svisle, vodorovně nebo úhlopříčně), v nichž jsou zapsány znaky s, n, u, k a e v tomto pořadí
tehdy a jen tehdy, jsou-li splněny všechny následující podmínky.

- Na políčkách A_1,A_2,A_3,A_4 a A_5 jsou napsána písmena s, n, u, k a e v tomto pořadí.
- Pro všechna 1\leq i\leq 4 mají políčka A_i a A_{i+1} společný roh nebo stranu.
- Středy políček A_1,A_2,A_3,A_4 a A_5 leží v pravidelných intervalech na společné přímce.

Vstup

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

Výstup

Vypište pět řádků v následujícím formátu.
Nechť (R_1,C_1), (R_2,C_2)\ldots,(R_5,C_5) jsou buňky hledané množiny s napsanými s, n, u, k a e.
Na i-tém řádku by měly být uvedeny R_i a C_i v tomto pořadí, oddělené mezerou.
Jinými slovy, vypište je v následujícím formátu:
R_1 C_1
R_2 C_2
\vdots
R_5 C_5

Viz také ukázkové vstupy a výstupy níže.

Omezení

- 5\leq H\leq 100
- 5\leq W\leq 100
- H a W jsou celá čísla.
- S_i je řetězec délky W složený z malých anglických písmen.
- Daná mřížka má jedinečnou vyhovující množinu buněk.

Vzorový vstup 1

6 6
vgxgpu
amkxks
zhkbpp
hykink
esnuke
zplvfj

Ukázka výstupu 1

5 2
5 3
5 4
5 5
5 6

Tuple (A_1,A_2,A_3,A_4,A_5)=((5,2),(5,3),(5,4),(5,5),(5,6)) splňuje podmínky.
Jsou na nich totiž napsána písmena s, n, u, k a e;
pro všechna 1\leq i\leq 4 mají políčka A_i a A_{i+1} společnou stranu;
a středy políček leží na společné přímce.

Vzorový vstup 2

5 5
ezzzz
zkzzz
ezuzs
zzznz
zzzzs

Ukázka výstupu 2

5 5
4 4
3 3
2 2
1 1

Tuple (A_1,A_2,A_3,A_4,A_5)=((5,5),(4,4),(3,3),(2,2),(1,1)) splňuje podmínky.
Například (A_1,A_2,A_3,A_4,A_5)=((3,5),(4,4),(3,3),(2,2),(3,1)) však porušuje třetí podmínku, protože středy políček neleží na společné přímce, ačkoli splňuje první a druhou podmínku.

Vzorový vstup 3

10 10
kseeusenuk
usesenesnn
kskekeeses
nesnusnkkn
snenuuenke
kukknkeuss
neunnennue
sknuessuku
nksneekknk
neeeuknenk

Vzorový výstup 3

9 3
8 3
7 3
6 3
5 3

Existuje mřížka s vodorovnými řádky H a svislými sloupci W.  V každém políčku je napsáno malé anglické písmeno.
Buňku v i-tém řádku shora a j-tém sloupci zleva označujeme (i, j).
Písmena napsaná na mřížce jsou reprezentována řetězci H S_1,S_2,\ldots, S_H, z nichž každý má délku W.
J-té písmeno S_i představuje písmeno napsané na (i, j).
Existuje jedinečná množina
sousedících buněk (jdoucích vertikálně, horizontálně nebo diagonálně) v mřížce
s písmeny s, n, u, k a e v tomto pořadí.
Najděte pozice takových buněk a vypište je ve formátu uvedeném v části Výstup.
Říká se, že trojice pěti buněk (A_1,A_2,A_3,A_4,A_5) tvoří tzv.
sadu sousedících buněk (jdoucích svisle, vodorovně nebo úhlopříčně), v nichž jsou zapsány znaky s, n, u, k a e v tomto pořadí
tehdy a jen tehdy, jsou-li splněny všechny následující podmínky.

- V buňkách A_1,A_2,A_3,A_4 a A_5 jsou napsána písmena s, n, u, k a e v tomto pořadí.
- Pro všechna 1\leq i\leq 4 mají buňky A_i a A_{i+1} společný roh nebo stranu.
- Středy buněk A_1,A_2,A_3,A_4 a A_5 leží v pravidelných intervalech na společné přímce.

Vstup

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

Výstup

Vypište pět řádků v následujícím formátu.
Nechť (R_1,C_1), (R_2,C_2)\ldots,(R_5,C_5) jsou buňky hledané množiny s napsanými s, n, u, k a e.
Na i-tém řádku by měly být uvedeny R_i a C_i v tomto pořadí, oddělené mezerou.
Jinými slovy, vypište je v následujícím formátu:
R_1 C_1
R_2 C_2
\vdots
R_5 C_5

Viz také vzorové vstupy a výstupy níže.

Omezení

- 5\leq H\leq 100
- 5\leq W\leq 100
- H a W jsou celá čísla.
- S_i je řetězec délky W složený z malých anglických písmen.
- Daná mřížka má jedinečnou vyhovující množinu buněk.

Vzorový vstup 1

6 6
vgxgpu
amkxks
zhkbpp
hykink
esnuke
zplvfj

Vzorový výstup 1

5 2
5 3
5 4
5 5
5 6

N-tice (A_1,A_2,A_3,A_4,A_5)=((5,2),(5,3),(5,4),(5,5),(5,6)) splňuje podmínky.
Jsou na nich totiž napsána písmena s, n, u, k a e;
pro všechna 1\leq i\leq 4 mají buňky A_i a A_{i+1} společnou stranu;
a středy buněk leží na společné přímce.

Vzorový vstup 2

5 5
ezzzz
zkzzz
ezuzs
zzznz
zzzzs

Vzorový výstup 2

5 5
4 4
3 3
2 2
1 1

N-tice (A_1,A_2,A_3,A_4,A_5)=((5,5),(4,4),(3,3),(2,2),(1,1)) splňuje podmínky.
Například (A_1,A_2,A_3,A_4,A_5)=((3,5),(4,4),(3,3),(2,2),(3,1)) však porušuje třetí podmínku, protože středy buněk neleží na společné přímce, ačkoli splňuje první a druhou podmínku.

Vzorový vstup 3

10 10
kseeusenuk
usesenesnn
kskekeeses
nesnusnkkn
snenuuenke
kukknkeuss
neunnennue
sknuessuku
nksneekknk
neeeuknenk

Vzorový výstup 3

9 3
8 3
7 3
6 3
5 3


Je dáno N řetězců S_1,S_2,\dots,S_N, z nichž každý má délku M a skládá se z malých anglických písmen.  Zde jsou S_i párově odlišné.
Určete, zda lze tyto řetězce přeskupit tak, aby vznikla nová posloupnost řetězců T_1,T_2,\dots,T_N, která je taková, že:

- pro všechna celá čísla i taková, že 1 \le i \le N-1, lze změnit přesně jeden znak T_i na jiné malé anglické písmeno tak, aby se rovnal T_{i+1}.

Vstup

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

Výstup

Vypište Yes, pokud lze získat vyhovující posloupnost; v opačném případě vypište No.

Omezení

- 2 \le N \le 8
- 1 \le M \le 5
- S_i je řetězec délky M složený z malých anglických písmen.  (1 \le i \le N)
- S_i jsou párově odlišné.

Vzorový vstup 1

4 4
bbed
abcd
abed
fbed

Vzorový výstup 1

Yes

Lze je uspořádat v tomto pořadí: abcd, abed, bbed, fbed.  Tato posloupnost splňuje podmínku.

Vzorový vstup 2

2 5
abcde
abced

Ukázka výstupu 2

No

Bez ohledu na to, jak jsou řetězce přeskupeny, podmínka není nikdy splněna.

Ukázkový vstup 3

8 4
fast
face
cast
race
fact
rice
nice
case

Ukázka výstupu 3

Yes

Je vám dáno N řetězců S_1,S_2,\tečky,S_N, každý o délce M, skládající se z malých anglických písmen.  Zde jsou S_i párově odlišné.
Zjistěte, zda lze tyto řetězce přeskupit a získat tak novou sekvenci řetězců T_1,T_2,\tečky,T_N tak, že:

- pro všechna celá čísla i taková, že 1 \le i \le N-1, lze změnit právě jeden znak T_i na jiné malé anglické písmeno, aby se rovnalo T_{i+1}.

Vstup

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

Výstup

Vytiskněte Ano, pokud lze získat vyhovující sekvenci; tisknout Ne jinak.

Omezení

- 2 \le N \le 8
- 1 \le M \le 5
- S_i je řetězec délky M sestávající z malých anglických písmen.  (1 \le i \le N)
- S_i jsou párově odlišné.

Ukázkový vstup 1

4 4
bbed
abcd
abed
fbed

Ukázkový výstup 1

Yes

Lze je přeskupit v tomto pořadí: abcd, abed, bbed, fbed.  Tato sekvence splňuje podmínku.

Ukázkový vstup 2

2 5
abcde
abced

Ukázkový výstup 2

No

Bez ohledu na to, jak jsou řetězce přeskupeny, podmínka není nikdy splněna.

Ukázkový vstup 3

8 4
rychle
tvář
obsazení
rasa
skutečnost
rýže
pěkný
věc

Ukázkový výstup 3

Yes

Je vám dáno N řetězců S_1,S_2,\tečky,S_N, každý o délce M, skládající se z malých anglických písmen. Zde jsou S_i párově odlišné.
Zjistěte, zda lze tyto řetězce přeskupit a získat tak novou sekvenci řetězců T_1,T_2,\tečky,T_N tak, že:

- pro všechna celá čísla i taková, že 1 \le i \le N-1, lze změnit právě jeden znak T_i na jiné malé anglické písmeno, aby se rovnalo T_{i+1}.

Vstup

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

Výstup

Vytiskněte Ano, pokud lze získat vyhovující sekvenci; tisknout Ne jinak.

Omezení

- 2 \le N \le 8
- 1 \le M \le 5
- S_i je řetězec délky M sestávající z malých anglických písmen. (1 \le i \le N)
- S_i jsou párově odlišné.

Ukázkový vstup 1

4 4
bbed
abcd
abed
fbed

Ukázkový výstup 1

Yes

Lze je přeskupit v tomto pořadí: abcd, abed, bbed, fbed. Tato sekvence splňuje podmínku.

Ukázkový vstup 2

2 5
abcde
abced

Ukázkový výstup 2

No

Bez ohledu na to, jak jsou struny přeskupeny, podmínka není nikdy splněna.

Ukázkový vstup 3

8 4
fast
face
cast
race
fact
rice
nice
case

Ukázkový výstup 3

Yes


Takahashi se rozhodl dát jeden dárek Aoki a jeden dárek Snukeovi.
Existuje N kandidátů na dárky pro Aoki,
a jejich hodnoty jsou A_1, A_2, \ldots,A_N.
Existuje M kandidátů na dárky pro Snuke,
a jejich hodnoty jsou B_1, B_2, \ldots,B_M.
Takahashi chce vybrat dárky tak, aby rozdíl v hodnotách obou dárků byl maximálně D.
Zjistěte, zda může vybrat takový pár dárků. Pokud může, vytiskněte maximální součet hodnot vybraných dárků.

Vstup

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

Výstup

Pokud si může vybrat dárky, aby splnil podmínku,
vytisknout maximální součet hodnot vybraných dárků.
Pokud nemůže podmínku splnit, vytiskne -1.

Omezení

- 1\leq N,M\leq 2\times 10^5
- 1\leq A_i,B_i\leq 10^{18}
- 0\leq D \leq 10^{18}
- Všechny hodnoty ve vstupu jsou celá čísla.

Ukázkový vstup 1

2 3 2
3 10
2 5 15

Ukázkový výstup 1

8

Rozdíl hodnot těchto dvou darů by měl být maximálně 2.
Pokud daruje dárek s hodnotou 3 Aoki a další s hodnotou 5 Snuke, podmínka je splněna, dosažení maximálního možného součtu hodnot.
Mělo by se tedy vytisknout 3+5=8.

Ukázkový vstup 2

3 3 0
1 3 3
6 2 7

Ukázkový výstup 2

-1

Nemůže si vybrat dárky, aby podmínku splnil.
Upozorňujeme, že kandidáti na dárky pro osobu mohou obsahovat více darů se stejnou hodnotou.

Ukázkový vstup 3

1 1 1000000000000000000
1000000000000000000
1000000000000000000

Ukázkový výstup 3

2000000000000000000

Všimněte si, že odpověď se nemusí vejít do 32bitového typu celého čísla.

Ukázkový vstup 4

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

Ukázkový výstup 4

14

Takahashi se rozhodl dát jeden dárek Aoki a jeden dárek Snukeovi.
Existuje N kandidátů na dárky pro Aoki,
a jejich hodnoty jsou A_1, A_2, \ldots,A_N.
Existuje M kandidátů na dárky pro Snuke,
a jejich hodnoty jsou B_1, B_2, \ldots,B_M.
Takahashi chce vybrat dárky tak, aby rozdíl v hodnotách obou dárků byl maximálně D.
Zjistěte, zda může vybrat takový pár dárků.  Pokud může, vytiskněte maximální součet hodnot vybraných dárků.

Vstup

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

Výstup

Pokud si může vybrat dárky, aby splnil podmínku,
vytisknout maximální součet hodnot vybraných dárků.
Pokud nemůže podmínku splnit, vytiskne -1.

Omezení

- 1\leq N,M\leq 2\krát 10^5
- 1\leq A_i,B_i\leq 10^{18}
- 0\leq D \leq 10^{18}
- Všechny hodnoty ve vstupu jsou celá čísla.

Ukázkový vstup 1

2 3 2
3 10
2 5 15

Ukázkový výstup 1

8

Rozdíl hodnot těchto dvou darů by měl být maximálně 2.
Pokud daruje dárek s hodnotou 3 Aoki a další s hodnotou 5 Snuke, podmínka je splněna, dosažení maximálního možného součtu hodnot.
Mělo by se tedy vytisknout 3+5=8.

Ukázkový vstup 2

3 3 0
1 3 3
6 2 7

Ukázkový výstup 2

-1

Nemůže si vybrat dárky, aby podmínku splnil.
Upozorňujeme, že kandidáti na dárky pro osobu mohou obsahovat více darů se stejnou hodnotou.

Ukázkový vstup 3

1 1 1000000000000000000
1000000000000000000
1000000000000000000

Ukázkový výstup 3

2000000000000000000

Všimněte si, že odpověď se nemusí vejít do 32bitového typu celého čísla.

Ukázkový vstup 4

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

Ukázkový výstup 4

14

Takahaši se rozhodl dát jeden dárek Aokimu a jeden Snukovi.
Pro Aokiho je připraveno N kandidátů na dárky,
a jejich hodnoty jsou A_1, A_2, \ldots,A_N.
Pro Snukeho existuje M kandidátů na dárky,
a jejich hodnoty jsou B_1, B_2, \ldots,B_M.
Takahaši chce vybrat dary tak, aby rozdíl hodnot obou darů byl nejvýše D.
Určete, zda může takovou dvojici dárků vybrat.  Pokud to dokáže, vypište maximální součet hodnot vybraných darů.

Vstup

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

Výstup

Pokud může vybrat dárky, které splňují podmínku,
vypište maximální součet hodnot vybraných darů.
Pokud nemůže splnit podmínku, vypište -1.

Omezení

- 1\leq N,M\leq 2\krát 10^5
- 1\leq A_i,B_i\leq 10^{18}
- 0\leq D \leq 10^{18}
- Všechny hodnoty na vstupu jsou celá čísla.

Ukázkový vstup 1

2 3 2
3 10
2 5 15

Ukázka výstupu 1

8

Rozdíl hodnot obou darů by měl být nejvýše 2.
Pokud dá dárek s hodnotou 3 Aokimu a další s hodnotou 5 Snukovi, je podmínka splněna, čímž je dosaženo maximálního možného součtu hodnot.
Mělo by se tedy vytisknout 3+5=8.

Vzorový vstup 2

3 3 0
1 3 3
6 2 7

Ukázka výstupu 2

-1

Nemůže si vybrat dárky, aby splnil podmínku.
Všimněte si, že kandidáti na dárky pro danou osobu mohou obsahovat více dárků se stejnou hodnotou.

Vzorový vstup 3

1 1 1000000000000000000
1000000000000000000
1000000000000000000

Ukázka výstupu 3

2000000000000000000

Všimněte si, že odpověď se nemusí vejít do 32bitového typu celého čísla.

Ukázka vstupu 4

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

Ukázka výstupu 4

14


Existuje neorientovaný graf s N vrcholy očíslovanými od 1 do N a zpočátku s 0 hranami.
Dané Q dotazy zpracujte v pořadí.  Po zpracování každého dotazu
vypíše počet vrcholů, které nejsou spojeny s žádnými jinými vrcholy hranou.
I-tý dotaz, \mathrm{query}_i, je jednoho z následujících dvou druhů.

-
1 u v: spojte vrchol u a vrchol v hranou.  Je zaručeno, že když je zadán tento dotaz, vrchol u a vrchol v nejsou spojeny hranou.

-
2 v: odstraňte všechny hrany, které spojují vrchol v a ostatní vrcholy.  (Samotný vertex v není odstraněn.)

Vstup

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

Výstup

Vytiskněte Q řádky.
I-tý řádek (1\leq i\leq Q) by měl obsahovat počet vrcholů, které nejsou spojeny s žádnými jinými vrcholy hranou.

Omezení

- 2 \leq N\leq 3\krát 10^5
- 1 \leq Q\leq 3\krát 10^5
- Pro každý dotaz prvního druhu 1\leq u,v\leq N a u\neq v.
- Pro každý dotaz druhého druhu 1\leq v\leq N.
- Těsně před zadáním dotazu prvního druhu není mezi vrcholy u a v žádná hrana.
- Všechny hodnoty ve vstupu jsou celá čísla.

Ukázkový vstup 1

3 7
1 1 2
1 1 3
1 2 3
2 1
1 1 2
2 2
1 1 2

Ukázkový výstup 1

1
0
0
1
0
3
1

Po prvním dotazu jsou vrchol 1 a vrchol 2 vzájemně spojeny hranou, ale vrchol 3 není spojen s žádnými jinými vrcholy.
Na prvním řádku by tedy měla být vytištěna 1.
Po třetím dotazu jsou všechny dvojice různých vrcholů spojeny hranou.
Čtvrtý dotaz však požaduje odstranění všech hran, které spojují vrchol 1 a ostatní vrcholy, konkrétně odstranění hrany mezi vrcholem 1 a vrcholem 2 a další mezi vrcholem 1 a vrcholem 3.
Výsledkem je, že vrchol 2 a vrchol 3 jsou navzájem spojeny, zatímco vrchol 1 není spojen s žádnými jinými vrcholy hranou.
Tedy 0 a 1 by měly být vytištěny na třetím a čtvrtém řádku.

Ukázkový vstup 2

2 1
2 1

Ukázkový výstup 2

2

Když je zadán dotaz druhého druhu, nemusí existovat žádná hrana, která spojuje tento vrchol a ostatní vrcholy.

Existuje neorientovaný graf s N vrcholy očíslovanými od 1 do N a zpočátku s 0 hranami.
Je dáno Q dotazů, které je třeba zpracovat v pořadí. Po zpracování každého dotazu
vytiskněte počet vrcholů, které nejsou spojeny s žádnými jinými vrcholy hranou.
i-tý dotaz, \mathrm{query}_i, je jednoho z následujících dvou druhů.

-
1 u v: spojte vrchol u a vrchol v hranou. Je zaručeno, že když je tento dotaz zadán, vrchol u a vrchol v nejsou spojeny hranou.

-
2 v: odstraní všechny hrany, které spojují vrchol v s ostatními vrcholy. (Vrchol v sám o sobě není odstraněn.)

Vstup

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

Výstup

Vytiskněte Q řádků.
i-tý řádek (1\leq i\leq Q) by měl obsahovat počet vrcholů, které nejsou spojeny s žádnými jinými vrcholy hranou.

Omezení

- 2 \leq N\leq 3\times 10^5
- 1 \leq Q\leq 3\times 10^5
- Pro každý dotaz prvního druhu platí, že 1\leq u,v\leq N a u\neq v.
- Pro každý dotaz druhého druhu platí, že 1\leq v\leq N.
- Těsně před zadáním dotazu prvního druhu není mezi vrcholy u a v žádná hrana.
- Všechny hodnoty ve vstupu jsou celá čísla.

Ukázkový vstup 1

3 7
1 1 2
1 1 3
1 2 3
2 1
1 1 2
2 2
1 1 2

Ukázkový výstup 1

1
0
0
1
0
3
1

Po prvním dotazu jsou vrchol 1 a vrchol 2 spojeny hranou, ale vrchol 3 není spojen s žádnými jinými vrcholy.
Proto by měl být na prvním řádku vytištěn 1.
Po třetím dotazu jsou všechny dvojice různých vrcholů spojeny hranou.
Nicméně, čtvrtý dotaz žádá o odstranění všech hran, které spojují vrchol 1 s ostatními vrcholy, konkrétně o odstranění hrany mezi vrcholem 1 a vrcholem 2 a mezi vrcholem 1 a vrcholem 3.
Výsledkem je, že vrchol 2 a vrchol 3 jsou spojeny, zatímco vrchol 1 není spojen s žádnými jinými vrcholy hranou.
Proto by měly být na třetím a čtvrtém řádku vytištěny 0 a 1.

Ukázkový vstup 2

2 1
2 1

Ukázkový výstup 2

2

Když je zadán dotaz druhého druhu, nemusí existovat žádná hrana, která by spojovala tento vrchol s ostatními vrcholy.

Existuje neorientovaný graf s N vrcholy očíslovanými od 1 do N a zpočátku s 0 hranami.
Je dáno Q dotazů, zpracujte je v následujícím pořadí.  Po zpracování každého dotazu,
vypište počet vrcholů, které nejsou spojeny s žádným jiným vrcholem hranou.
i-th dotaz, \mathrm{query}_i, je jednoho z následujících dvou druhů.

-
1 u v: spojte vrchol u a vrchol v hranou.  Je zaručeno, že při zadání tohoto dotazu nejsou vrchol u a vrchol v spojeny hranou.

-
2 v: odstraní všechny hrany, které spojují vrchol v a ostatní vrcholy.  (Samotný vrchol v není odstraněn.)

Vstup

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

Výstup

Vypíše Q řádků.
i-th řádek (1\leq i\leq Q) by měl obsahovat počet vrcholů, které nejsou spojeny s žádným jiným vrcholem hranou.

Omezení

- 2 \leq N\leq 3\krát 10^5
- 1 \leq Q\leq 3\krát 10^5
- Pro každý query prvního druhu platí 1\leq u,v\leq N a u\neq v.
- Pro každý query druhého druhu 1\leq v\leq N.
- Těsně před zadáním query prvního druhu neexistuje žádná hrana mezi vrcholy u a v.
- Všechny hodnoty na vstupu jsou celá čísla.

Ukázka vstupu 1

3 7
1 1 2
1 1 3
1 2 3
2 1
1 1 2
2 2
1 1 2

Ukázka výstupu 1

1
0
0
1
0
3
1

 Po prvním dotazu jsou vrchol 1 a vrchol 2 navzájem spojeny hranou, ale vrchol 3 není spojen s žádným jiným vrcholem.
V prvním řádku by tedy měla být vypsána hodnota 1.
Po třetím dotazu jsou všechny dvojice různých vrcholů spojeny hranou.
Čtvrtý dotaz však požaduje odstranění všech hran, které spojují vrchol 1 s ostatními vrcholy, konkrétně odstranění hrany mezi vrcholem 1 a vrcholem 2 a další mezi vrcholem 1 a vrcholem 3. To znamená, že je třeba odstranit všechny hrany, které spojují vrchol 1 s ostatními vrcholy.
Výsledkem je, že vrchol 2 a vrchol 3 jsou navzájem spojeny, zatímco vrchol 1 není spojen s žádným jiným vrcholem hranou.
Ve třetím řádku by tedy měla být vypsána 0 a ve čtvrtém 1.

Ukázka vstupu 2

2 1
2 1

Ukázkový výstup 2

2

Při zadání dotazu druhého druhu nemusí existovat žádná hrana, která by spojovala daný vrchol s ostatními vrcholy.


Na tabuli je N množin S_1,S_2,\dots,S_N složených z celých čísel mezi 1 a M. Zde S_i = \lbrace S_{i,1},S_{i,2},\dots,S_{i ,A_i} \rbrace.
Následující operaci můžete provést kolikrát (možná nula):

- vyberte dvě množiny X a Y s alespoň jedním společným prvkem. Vymažte je z tabule a místo toho na tabuli napište X\cup Y.

Zde X\cup Y označuje množinu sestávající z prvků obsažených v alespoň jednom z X a Y.
Určete, zda lze získat množinu obsahující 1 i M. Pokud je to možné, najděte minimální počet operací potřebných k jejímu získání.

Vstup

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

Výstup

Pokud lze získat sadu obsahující 1 i M, vytiskněte minimální počet operací potřebných k jejímu získání; pokud to není možné, vytiskněte místo toho -1.

Omezení

- 1 \le N \le 2 \times 10^5
- 2 \le M \le 2 \times10^5
- 1 \le \sum_{i=1}^{N} A_i \le 5 \times 10^5
- 1 \le S_{i,j} \le M(1 \le i \le N,1 \le j \le A_i)
- S_{i,j} \neq S_{i,k}(1 \le j < k \le A_i)
- Všechny hodnoty ve vstupu jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

2

Nejprve vyberte a odstraňte \lbrace 1,2 \rbrace a \lbrace 2,3 \rbrace, abyste získali \lbrace 1,2,3 \rbrace.
Poté vyberte a odeberte \lbrace 1,2,3 \rbrace a \lbrace 3,4,5 \rbrace, abyste získali \lbrace 1,2,3,4,5 \rbrace.
Tak lze získat množinu obsahující jak 1, tak M se dvěma operacemi. Protože nelze dosáhnout cíle provedením operace pouze jednou, odpověď je 2.

Ukázkový vstup 2

1 2
2
1 2

Ukázkový výstup 2

0

S_1 již obsahuje 1 i M, takže minimální požadovaný počet operací je 0.

Ukázkový vstup 3

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

Ukázkový výstup 3

-1

Ukázkový vstup 4

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

Ukázkový výstup 4

2

Na tabuli je N množin ( S_1, S_2, \dots, S_N \) sestávajících z celých čísel mezi 1 a M. Zde ( S_i = { S_{i,1}, S_{i,2}, \dots, S_{i,A_i} }"). Můžete provést následující operaci libovolný počet krát (případně žádný):

- Vyberte dvě množiny ( X \) a ( X), které mají alespoň jeden společný prvek. Vymažte je z tabule a napište ( X \cup Y ) na tabuli místo nich.

Zde ( X \cup Y ) označuje množinu obsahující prvky obsažené alespoň v jedné z množin** \( X \) a ( Y ).
 Určete, zda je možné získat množinu obsahující jak 1, tak M. Pokud ano, zjistěte minimální počet operací potřebných k jejímu dosažení

Vstup

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

Výstup

Pokud lze získat množinu obsahující jak 1, tak M, vytiskněte minimální počet operací potřebných k jejímu získání; pokud to není možné, vytiskněte místo toho -1.

Omezení

- 1 \le N \le 2 \times 10^5
- 2 \le M \le 2 \times 10^5
- 1 \le \sum_{i=1}^{N} A_i \le 5 \times 10^5
- 1 \le S_{i,j} \le M(1 \le i \le N,1 \le j \le A_i)
- S_{i,j} \neq S_{i,k}(1 \le j < k \le A_i)
- Všechny hodnoty ve vstupu jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

2

Nejprve vyber a odstraň \lbrace 1,2 \rbrace a \lbrace 2,3 \rbrace a získej \lbrace 1,2,3 \rbrace.
Pak vyber a odstraň \lbrace 1,2,3 \rbrace a \lbrace 3,4,5 \rbrace a získej \lbrace 1,2,3,4,5 \rbrace.
Takže lze získat množinu obsahující jak 1, tak M se dvěma operacemi. Protože nelze dosáhnout cíle provedením operace jen jednou, odpověď je 2.

Ukázkový vstup 2

1 2
2
1 2

Ukázkový výstup 2

0

S_1 už obsahuje jak 1, tak M, takže minimální počet požadovaných operací je 0.

Ukázkový vstup 3

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

Ukázkový výstup 3

-1

Ukázkový vstup 4

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

Ukázkový výstup 4

2

Na tabuli je N množin S_1,S_2,\dots,S_N složených z celých čísel mezi 1 a M. Zde S_i = \lbrace S_{i,1},S_{i,2},\dots,S_{i,A_i}. \rbrace.
Následující operaci můžete provést libovolný početkrát (pokud možno nulakrát):

- vyberte dvě množiny X a Y s alespoň jedním společným prvkem.  Vymažte je z tabule a místo nich napište na tabuli X\cup Y.

Zde X\cup Y označuje množinu složenou z prvků obsažených alespoň v jednom z X a Y.
Určete, zda lze získat množinu obsahující jak 1, tak M. Pokud je to možné, najděte minimální počet operací potřebných k jejímu získání.

Vstup

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

Výstup

Pokud lze získat množinu obsahující 1 i M, vypište minimální počet operací potřebných k jejímu získání; pokud to není možné, vypište místo toho -1.

Omezení

- 1 \le N \le 2 \krát 10^5
- 2 \le M \le 2 \krát 10^5
- 1 \le \sum_{i=1}^{N} A_i \le 5 \krát 10^5
- 1 \le S_{i,j} \le M(1 \le i \le N,1 \le j \le A_i)
- S_{i,j} \neq S_{i,k}(1 \le j < k \le A_i)
- Všechny hodnoty na vstupu jsou celá čísla.

Ukázkový vstup 1

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

Ukázka výstupu 1

2

 Nejprve vyberte a odstraňte \lbrace 1,2 \rbrace a \lbrace 2,3 \rbrace, abyste získali \lbrace 1,2,3 \rbrace.
Potom vyberte a odstraňte \lbrace 1,2,3 \rbrace a \lbrace 3,4,5 \rbrace, abyste získali \lbrace 1,2,3,4,5 \rbrace.
Dvěma operacemi lze tedy získat množinu obsahující 1 i M.  Protože nelze dosáhnout cíle provedením operace pouze jednou, je odpověď 2.

Příklad Vstup 2

1 2
2
1 2

Vzorový výstup 2

0

S_1 již obsahuje 1 i M, takže minimální počet požadovaných operací je 0.

Vzorový vstup 3

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

Ukázka výstupu 3

-1

Vzorový vstup 4

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

Ukázka výstupu 4

2


Dva znaky x a y se nazývají podobné znaky, pokud a jen pokud je splněna jedna z následujících podmínek:

- x a y jsou stejné znaky.
- Jedním z x a y je 1 a druhým je l.
- Jedním z x a y je 0 a druhým je o.

Dva řetězce S a T, každý délky N, se nazývají podobné řetězce, pokud a jen pokud:

- pro všechna i\ (1\leq i\leq N) je i-tý znak S a i-tý znak T podobným znakem.

Jsou dány dva řetězce délky N, S a T, sestávající z malých písmen anglické abecedy a číslic, určete, zda jsou S a T podobné řetězce.

Vstup

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

Výstup

Vytiskněte Yes, pokud jsou S a T podobné řetězce, a No v opačném případě.

Omezení

- N je celé číslo mezi 1 a 100.
- Každý z S a T je řetězec délky N sestávající z malých písmen anglické abecedy a číslic.

Ukázkový vstup 1

3
l0w
1ow

Ukázkový výstup 1

Yes

1. znak S je l a 1. znak T je 1. Tyto jsou podobné znaky.
2. znak S je 0 a 2. znak T je o. Tyto jsou podobné znaky.
3. znak S je w a 3. znak T je w. Tyto jsou podobné znaky.
Proto jsou S a T podobné řetězce.

Ukázkový vstup 2

3
abc
arc

Ukázkový výstup 2

No

2. znak S je b a 2. znak T je r. Tyto nejsou podobné znaky.
Proto nejsou S a T podobné řetězce.

Ukázkový vstup 3

4
nok0
n0ko

Ukázkový výstup 3

Yes

Dva znaky x a y se nazývají podobné znaky tehdy a jen tehdy, je-li splněna jedna z následujících podmínek:

- x a y jsou stejné znaky.
- Jeden z x a y je 1 a druhý je l.
- Jeden z x a y je 0 a druhý je o.

Dva řetězce S a T, každý o délce N, se nazývají podobné řetězce tehdy a jen tehdy, když:

- pro všechna i\ (1\leq i\leq N) jsou i-tý znak řetězce S a i-tý znak řetězce T podobné znaky.

Jsou-li dány dva řetězce délky N S a T složené z malých anglických písmen a číslic, určete, zda jsou S a T podobné řetězce.

Vstup

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

Výstup

Vypíše Ano, pokud jsou S a T podobné řetězce, a Ne v opačném případě.

Omezení

- N je celé číslo mezi 1 a 100.
- Každý z řetězců S a T je řetězec délky N složený z malých anglických písmen a číslic.

Vzorový vstup 1

3
l0w
1ow

Vzorový výstup 1

Yes

První znakem S je l a První znakem T je 1. Jedná se o podobné znaky.
2. znak S je 0 a 2. znak T je o. Jedná se o podobné znaky.
3. znakem S je w a 3. znakem T je w. Jedná se o podobné znaky.
S a T jsou tedy podobné řetězce.

Vzorový vstup 2

3
abc
arc

Vzorový výstup 2

No

2. znakem S je b a 2. znakem T je r.  Nejedná se o podobné znaky.
S a T tedy nejsou podobné řetězce.

Vzorový vstup 3

4
nok0
n0ko

Vzorový výstup 3

Yes

Dva znaky x a y se nazývají podobné znaky tehdy a pouze tehdy, když je splněna jedna z následujících podmínek:

- x a y jsou stejné znaky.
- Jedno z x a y je 1 a druhé je l.
- Jedno z x a y je 0 a druhé je o.

Dva řetězce S a T, každý o délce N, se nazývají podobné řetězce tehdy a pouze tehdy, když:

- pro všechna i\ (1\leq i\leq N), i-tý znak S a i-tý znak T jsou podobné znaky.

Jsou-li dány dva řetězce délky N S a T sestávající z malých anglických písmen a číslic, určete, zda jsou S a T podobné řetězce.

Vstup

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

Výstup

Vytiskněte Ano, pokud jsou S a T podobné řetězce, a jinak Ne.

Omezení

- N je celé číslo mezi 1 a 100.
- Každé z S a T je řetězec délky N sestávající z malých anglických písmen a číslic.

Ukázkový vstup 1

3
l0w
1ow

Ukázkový výstup 1

Yes

1. znak S je l a 1. znak T je 1. Jedná se o podobné znaky.
2. znak S je 0 a 2. znak T je o. Jedná se o podobné postavy.
3. znak S je w a 3. znak T je w. Jedná se o podobné postavy.
S a T jsou tedy podobné řetězce.

Ukázkový vstup 2

3
abc
arc

Ukázkový výstup 2

No

2. znak S je b a 2. znak T je r. Nejsou to podobné postavy.
S a T tedy nejsou podobné řetězce.

Ukázkový vstup 3

4
nok0
n0ko

Ukázkový výstup 3

Yes


N lidí očíslovaných 1,2,\ldots,N bylo na M fotografiích. Na každé fotografii stáli v jedné řadě. Na i-té fotografii je j-tá osoba zleva osoba a_{i,j}. Dva lidé, kteří nestáli vedle sebe na žádné z fotografií, mohou mít špatnou náladu.
Kolik párů lidí může mít špatnou náladu? Zde nerozlišujeme mezi párem osoby x a osoby y, a párem osoby y a osoby x.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N M
a_{1,1} \ldots a_{1,N}
\vdots
a_{M,1} \ldots a_{M,N}

Výstup

Vytiskněte odpověď.

Omezení

- 2 \leq N \leq 50
- 1 \leq M \leq 50
- 1 \leq a_{i,j} \leq N
- a_{i,1},\ldots,a_{i,N} obsahují přesně jednou čísla 1,\ldots,N.
- Všechny hodnoty ve vstupu jsou celá čísla.

Ukázkový vstup 1

4 2
1 2 3 4
4 3 1 2

Ukázkový výstup 1

2

Pár osoby 1 a osoby 4 a pár osoby 2 a osoby 4 mohou mít špatnou náladu.

Ukázkový vstup 2

3 3
1 2 3
3 1 2
1 2 3

Ukázkový výstup 2

0

Ukázkový vstup 3

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

Ukázkový výstup 3

6

Na M fotografiích bylo N osob s čísly 1,2,\bodky,N.  Na každé z fotografií stáli v jedné řadě.  Na i-té fotografii je j-tá osoba zleva osoba a_{i,j}.
Dvě osoby, které nestály vedle sebe na žádné z fotografií, mohou mít špatnou náladu.
Kolik dvojic lidí může mít špatnou náladu?  Zde nerozlišujeme dvojici osoba x a osoba y a dvojici osoba y a osoba x.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N M
a_{1,1} \ldots a_{1,N}
\vdots
a_{M,1} \ldots a_{M,N}

Výstup

Vypište odpověď.

Omezení

- 2 \leq N \leq 50
- 1 \leq M \leq 50
- 1 \leq a_{i,j} \leq N
- a_{i,1},\ldots,a_{i,N} obsahuje každý z 1,\ldots,N přesně jednou.
- Všechny hodnoty na vstupu jsou celá čísla.

Ukázkový vstup 1

4 2
1 2 3 4
4 3 1 2

Ukázka výstupu 1

2

Dvojice osoby 1 a osoby 4 a dvojice osoby 2 a osoby 4 mohou mít špatnou náladu.

Vzorový vstup 2

3 3
1 2 3
3 1 2
1 2 3

Vzorový výstup 2

0

Vzorový vstup 3

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

Ukázka výstupu 3

6

N lidí s číslem 1,2,\ldots,N bylo na M fotografiích. Na každé z fotek stáli v jedné řadě. Na i-té fotce je j-tá osoba zleva osoba a_{i,j}.
Špatnou náladu mohou mít dva lidé, kteří na žádné z fotek nestáli vedle sebe.
Kolik párů lidí může mít špatnou náladu? Zde nerozlišujeme dvojici osoby x a osobu y a dvojici osoby y a osobu x.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N M
a_{1,1} \ldots a_{1,N}
\vdots
a_{M,1} \ldots a_{M,N}

Výstup

Vytiskněte odpověď.

Omezení

- 2 \leq N \leq 50
- 1 \leq M \leq 50
- 1 \leq a_{i,j} \leq N
- a_{i,1},\ldots,a_{i,N} obsahují každou z 1,\ldots,N právě jednou.
- Všechny hodnoty ve vstupu jsou celá čísla.

Ukázkový vstup 1

4 2
1 2 3 4
4 3 1 2

Ukázkový výstup 1

2

Dvojice osoba 1 a osoba 4 a dvojice osoba 2 a osoba 4 mohou mít špatnou náladu.

Ukázkový vstup 2

3 3
1 2 3
3 1 2
1 2 3

Ukázkový výstup 2

0

Ukázkový vstup 3

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

Ukázkový výstup 3

6


Na dvourozměrné rovině je Takahashi zpočátku na bodě (0, 0) a jeho počáteční zdraví je H. Na rovině je umístěno M předmětů na obnovení zdraví; i-tý z nich je umístěn na (x_i,y_i).
Takahashi provede N pohybů. i-tý pohyb je následující.

-
Nechť (x,y) jsou jeho aktuální souřadnice. Spotřebuje zdraví 1, aby se přesunul na následující bod, závisle na S_i, i-tém znaku S:

- (x+1,y), pokud S_i je R;
- (x-1,y), pokud S_i je L;
- (x,y+1), pokud S_i je U;
- (x,y-1), pokud S_i je D.

-
Pokud se Takahashiho zdraví stalo negativním, zhroutí se a přestane se pohybovat. V opačném případě, pokud je na bodu, na který se přesunul, umístěn předmět a jeho zdraví je striktně menší než K, spotřebuje předmět, aby jeho zdraví bylo K.

Určete, zda Takahashi zvládne provést N pohybů, aniž by omdlel.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N M H K
S
x_1 y_1
\vdots
x_M y_M

Výstup

Vytiskněte Yes, pokud může dokončit N pohybů, aniž by omdlel; v opačném případě vytiskněte No.

Omezení

- 1\leq N,M,H,K\leq 2\times 10^5
- S je řetězec délky N skládající se z R, L, U a D.
- |x_i|,|y_i| \leq 2\times 10^5
- (x_i, y_i) jsou navzájem různé.
- Všechny hodnoty ve vstupu jsou celá čísla, s výjimkou S.

Ukázkový vstup 1

4 2 3 1
RUDL
-1 -1
1 0

Ukázkový výstup 1

Yes

Zpočátku je Takahashiho zdraví 3. Popíšeme pohyby níže.

-
1. pohyb: S_i je R, tak se přesune na bod (1,0). Jeho zdraví se sníží na 2. Ačkoli je na bodu (1,0) umístěn předmět, nespotřebuje ho, protože jeho zdraví není menší než K=1.

-
2. pohyb: S_i je U, tak se přesune na bod (1,1). Jeho zdraví se sníží na 1.

-
3. pohyb: S_i je D, tak se přesune na bod (1,0). Jeho zdraví se sníží na 0. Na bodu (1,0) je umístěn předmět a jeho zdraví je menší než K=1, takže spotřebuje předmět, aby jeho zdraví bylo 1.

-
4. pohyb: S_i je L, tak se přesune na bod (0,0). Jeho zdraví se sníží na 0.

Tudíž může provést 4 pohyby, aniž by se zhroutil, takže by mělo být vytištěno Yes. Všimněte si, že zdraví může dosáhnout 0.

Ukázkový vstup 2

5 2 1 5
LDRLD
0 0
-1 -1

Ukázkový výstup 2

No

Zpočátku je Takahashiho zdraví 1. Popíšeme pohyby níže.

-
1. pohyb: S_i je L, tak se přesune na bod (-1,0). Jeho zdraví se sníží na 0.

-
2. pohyb: S_i je D, tak se přesune na bod (-1,-1). Jeho zdraví se sníží na -1. Jelikož je zdraví -1, zhroutí se a přestane se pohybovat.

Tudíž bude omdlít, takže by mělo být vytištěno No.
Všimněte si, že ačkoli je na jeho počátečním bodě (0,0) umístěn předmět, nespotřebuje ho před 1. pohybem, protože předměty se spotřebovávají až po pohybu.

Na dvourozměrné rovině je Takahashi původně na bodě (0, 0) a jeho počáteční zdraví je H. M položek pro obnovení zdraví je umístěno na rovině; i-tá položka je umístěna v bodě (x_i, y_i).
Takahashi provede N pohybů. i-tý pohyb je následující.

-
Nechť (x, y) jsou jeho aktuální souřadnice.  Spotřebuje 1 zdraví, aby se přesunul na následující bod, podle S_i, i-tého znaku řetězce S:

- (x+1, y), pokud S_i je R;
- (x-1, y), pokud S_i je L;
- (x, y+1), pokud S_i je U;
- (x, y-1), pokud S_i je D.

-
Pokud se Takahashiho zdraví stalo negativním, zhroutí se a přestane se pohybovat. V opačném případě, pokud je na bodu, na který se přesunul, umístěn předmět a jeho zdraví je striktně menší než K, spotřebuje předmět, aby jeho zdraví bylo K.

Určete, zda Takahashi zvládne provést N pohybů, aniž by omdlel.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N M H K
S
x_1 y_1
\vdots
x_M y_M

Výstup

Vytiskněte Yes, pokud může dokončit N pohybů, aniž by omdlel; v opačném případě vytiskněte No.

Omezení

- 1\leq N,M,H,K\leq 2\times 10^5
- S je řetězec délky N skládající se z R, L, U a D.
- |x_i|,|y_i| \leq 2\times 10^5
- (x_i, y_i) jsou navzájem různé.
- Všechny hodnoty ve vstupu jsou celá čísla, s výjimkou S.

Ukázkový vstup 1

4 2 3 1
RUDL
-1 -1
1 0

Ukázkový výstup 1

Yes

Zpočátku je Takahashiho zdraví 3. Popíšeme pohyby níže.

-
1. pohyb: S_i je R, tak se přesune na bod (1,0). Jeho zdraví se sníží na 2. Ačkoli je na bodu (1,0) umístěn předmět, nespotřebuje ho, protože jeho zdraví není menší než K=1.

-
2. pohyb: S_i je U, tak se přesune na bod (1,1). Jeho zdraví se sníží na 1.

-
3. pohyb: S_i je D, tak se přesune na bod (1,0). Jeho zdraví se sníží na 0. Na bodu (1,0) je umístěn předmět a jeho zdraví je menší než K=1, takže spotřebuje předmět, aby jeho zdraví bylo 1.

-
4. pohyb: S_i je L, tak se přesune na bod (0,0). Jeho zdraví se sníží na 0.

Tudíž může provést 4 pohyby, aniž by se zhroutil, takže by mělo být vytištěno Yes. Všimněte si, že zdraví může dosáhnout 0.

Ukázkový vstup 2

5 2 1 5
LDRLD
0 0
-1 -1

Ukázkový výstup 2

No

Zpočátku je Takahashiho zdraví 1. Popíšeme pohyby níže.

-
1. pohyb: S_i je L, tak se přesune na bod (-1,0). Jeho zdraví se sníží na 0.

-
2. pohyb: S_i je D, tak se přesune na bod (-1,-1). Jeho zdraví se sníží na -1. Jelikož je zdraví -1, zhroutí se a přestane se pohybovat.

Tudíž bude omdlít, takže by mělo být vytištěno No.
Všimněte si, že ačkoli je na jeho počátečním bodě (0,0) umístěn předmět, nespotřebuje ho před 1. pohybem, protože předměty se spotřebovávají až po pohybu.

Na dvourozměrné rovině je Takahashi zpočátku v bodě (0, 0) a jeho počáteční zdraví je H. Na rovinu je umístěno M předmětů pro obnovení zdraví; i-tá z nich je umístěna na (x_i,y_i).
Takahashi udělá N tahů. I-tý tah je následující.

-
Nechť (x,y) jsou jeho aktuální souřadnice. Spotřebuje zdraví 1, aby se posunul do následujícího bodu, v závislosti na S_i, i-té postavě S:

- (x+1,y) pokud S_i je R;
- (x-1,y) pokud S_i je L;
- (x,y+1) pokud S_i je U;
- (x,y-1), pokud S_i je D.

-
Pokud se Takahashiho zdraví zhorší, zhroutí se a přestane se pohybovat. V opačném případě, pokud je předmět umístěn na místo, kam se přesunul, a jeho zdraví je přísně nižší než K, pak předmět spotřebuje tam, aby jeho zdraví bylo K.

Zjistěte, zda Takahashi může dokončit N tahů, aniž by byl omráčen.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N M H K
S
x_1 y_1
\vdots
x_M y_M

Výstup

Vytisknout Ano, pokud může provést N tahů, aniž by byl omráčen; tisknout Ne jinak.

podmínky

- 1\leq N,M,H,K\leq 2\times 10^5
- S je řetězec délky N sestávající z R, L, U a D.
- |x_i|,|y_i| \leq 2\krát 10^5
- (x_i, y_i) jsou párově odlišné.
- Všechny hodnoty na vstupu jsou celá čísla, kromě S.

Ukázkový vstup 1

4 2 3 1
RUDL
-1 -1
10

Ukázkový výstup 1

Yes

Zpočátku je Takahashiho zdraví 3. Pohyby popisujeme níže.

-
1. tah: S_i je R, takže se přesune do bodu (1,0). Jeho zdraví se sníží na 2. Přestože je předmět umístěn na bod (1,0), nespotřebuje ho, protože jeho zdraví není menší než K=1.

-
2. tah: S_i je U, takže se přesune do bodu (1,1). Jeho zdraví se sníží na 1.

-
3. tah: S_i je D, takže se přesune do bodu (1,0). Jeho zdraví se sníží na 0. Předmět je umístěn na bod (1,0) a jeho zdraví je menší než K=1, takže předmět spotřebuje, aby jeho zdraví bylo 1.

-
4. tah: S_i je L, takže se přesune do bodu (0,0). Jeho zdraví se sníží na 0.

Může tedy provést 4 tahy bez zhroucení, takže by mělo být vytištěno Ano. Všimněte si, že zdraví může dosáhnout 0.

Ukázkový vstup 2

5 2 1 5
LDRLD
0 0
-1 -1

Ukázkový výstup 2

No

Zpočátku je Takahashiho zdraví 1. Pohyby popisujeme níže.

-
1. tah: S_i je L, takže se přesune do bodu (-1,0). Jeho zdraví se sníží na 0.

-
2-tý: S_i je D, takže se přesune do bodu (-1,-1). Jeho zdraví se sníží na -1. Nyní, když je zdraví -1, zkolabuje a přestane se hýbat.

Bude tedy omráčen, takže by mělo být vytištěno Ne.
Všimněte si, že ačkoli je předmět v jeho počátečním bodě (0,0), nespotřebuje jej před 1. tahem, protože předměty jsou spotřebovány až po tahu.


Váš počítač má klávesnici se třemi klávesami: klávesou „a“, klávesou Shift a klávesou Caps Lock. Klávesa Caps Lock má na sobě kontrolku.
Zpočátku kontrolka na klávese Caps Lock nesvítí a na obrazovce se zobrazuje prázdný řetězec.
Následující tři akce můžete provést kolikrát v libovolném pořadí:

- Strávte X milisekund, abyste stiskli pouze klávesu 'a'. Pokud kontrolka na klávese Caps Lock nesvítí, je k řetězci na obrazovce připojeno a; pokud svítí, je A.
- Strávte Y milisekund pro současné stisknutí klávesy 'a' a Shift. Pokud kontrolka na klávese Caps Lock nesvítí, k řetězci na obrazovce se připojí A; pokud je zapnuto, a je.
- Věnujte Z milisekund stisknutí klávesy Caps Lock. Pokud kontrolka na klávese Caps Lock nesvítí, rozsvítí se; pokud je zapnutý, vypne se.

Vzhledem k řetězci S skládajícím se z A a a určete alespoň kolik milisekund musíte strávit, aby se řetězec zobrazený na obrazovce rovnal S.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- 1 \leq X,Y,Z \leq 10^9
- X, Y a Z jsou celá čísla.
- 1 \leq |S| \leq 3 \times 10^5
- S je řetězec skládající se z A a a.

Ukázkový vstup 1

1 3 3
AAaA

Ukázkový výstup 1

9

Následující sekvence akcí způsobí, že řetězec na obrazovce bude roven AAaA za 9 milisekund, což je nejkratší možná doba.

- Věnujte Z(=3) milisekundy stisknutí klávesy CapsLock. Kontrolka na klávese Caps Lock se rozsvítí.
- Věnujte X(=1) milisekundám stisknutí klávesy 'a'. A je připojeno k řetězci na obrazovce.
- Věnujte X(=1) milisekundám stisknutí klávesy 'a'. A je připojeno k řetězci na obrazovce.
- Věnujte Y(=3) milisekundy současnému stisknutí klávesy Shift a klávesy 'a'. a je připojeno k řetězci na obrazovce.
- Věnujte X(=1) milisekundám stisknutí klávesy 'a'. A je připojeno k řetězci na obrazovce.

Ukázkový vstup 2

1 1 100
aAaAaA

Ukázkový výstup 2

6

Ukázkový vstup 3

1 2 4
aaAaAaaAAAAaAaaAaAAaaaAAAAAA

Ukázkový výstup 3

40

Váš počítač má klávesnici se třemi klávesami: klávesa „a“, klávesa Shift a klávesa Caps Lock.  Klávesa Caps Lock má na sobě kontrolku.
Zpočátku je kontrolka na klávese Caps Lock zhasnutá a na obrazovce se zobrazuje prázdný řetězec.
Následující tři akce můžete provést libovolný početkrát v libovolném pořadí:

- Stisknutím pouze klávesy „a“ strávíte X milisekund.  Pokud je kontrolka na klávese Caps Lock zhasnutá, k řetězci na obrazovce se přidá písmeno a; pokud je rozsvícená, přidá se písmeno A.
- Stisknutím klávesy „a“ a klávesy Shift současně strávíte Y milisekund.  Pokud kontrolka na klávese Caps Lock nesvítí, k řetězci na obrazovce se připojí A; pokud svítí, je a.
- Stisknutím klávesy Caps Lock strávíte Z milisekund.  Pokud kontrolka na klávese Caps Lock nesvítí, rozsvítí se; pokud svítí, zhasne.

Je dán řetězec S složený z písmen A a, určete alespoň kolik milisekund musíte strávit, aby se řetězec zobrazený na obrazovce rovnal řetězci S.

Vstup

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

Výstup

Vypíše odpověď.

Omezení

- 1 \leq X,Y,Z \leq 10^9
- X, Y a Z jsou celá čísla.
- 1 \leq |S| \leq 3 \times 10^5
- S je řetězec složený z písmen A a.

Ukázkový vstup 1

1 3 3
AAaA

Vzorový výstup 1

9

Následující posloupnost akcí způsobí, že řetězec na obrazovce se bude rovnat AAaA za 9 milisekund, což je nejkratší možná doba.

 - Stisknutím klávesy CapsLock strávíte Z(=3) milisekund.  Rozsvítí se kontrolka na klávese Caps Lock.
- Stisknutím klávesy „a“ strávíte X(=1) milisekund.  K řetězci na obrazovce se připojí písmeno A.
- Stisknutím klávesy „a“ strávíte X(=1) milisekund.  K řetězci na obrazovce se připojí písmeno A.
- Stisknutím klávesy Shift a klávesy „a“ současně strávíte Y(=3) milisekundy. a je připojeno k řetězci na obrazovce.
- Stisknutím klávesy „a“ strávíte X(=1) milisekund.  K řetězci na obrazovce se připojí písmeno „a“.

Ukázka vstupu 2

1 1 100
aAaAaA

Ukázka výstupu 2

6

Vstupní vzorek 3

1 2 4
aaAaAaaAAAAaAaaAaAAaaaAAAAA

Vzorový výstup 3

40

Váš počítač má klávesnici se třemi klávesami: klávesou „a“, klávesou Shift a klávesou Caps Lock.  Klávesa Caps Lock má na sobě kontrolku.
Zpočátku kontrolka na klávese Caps Lock nesvítí a na obrazovce se zobrazuje prázdný řetězec.
Následující tři akce můžete provést kolikrát v libovolném pořadí:

- Strávte X milisekund, abyste stiskli pouze klávesu 'a'.  Pokud kontrolka na klávese Caps Lock nesvítí, je k řetězci na obrazovce připojeno a; pokud svítí, je A.
- Strávte Y milisekund pro současné stisknutí klávesy 'a' a Shift.  Pokud kontrolka na klávese Caps Lock nesvítí, k řetězci na obrazovce se připojí A; pokud je zapnuto, a je.
- Věnujte Z milisekund stisknutí klávesy Caps Lock.  Pokud kontrolka na klávese Caps Lock nesvítí, rozsvítí se; pokud je zapnutý, vypne se.

Vzhledem k řetězci S skládajícím se z A a a určete alespoň kolik milisekund musíte strávit, aby se řetězec zobrazený na obrazovce rovnal S.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- 1 \leq X,Y,Z \leq 10^9
- X, Y a Z jsou celá čísla.
- 1 \leq |S| \leq 3 \krát 10^5
- S je řetězec skládající se z A a a.

Ukázkový vstup 1

1 3 3
AAaA

Ukázkový výstup 1

9

Následující sekvence akcí způsobí, že řetězec na obrazovce bude roven AAaA za 9 milisekund, což je nejkratší možná doba.

- Věnujte Z(=3) milisekundy stisknutí klávesy CapsLock.  Kontrolka na klávese Caps Lock se rozsvítí.
- Věnujte X(=1) milisekundám stisknutí klávesy 'a'.  A je připojeno k řetězci na obrazovce.
- Věnujte X(=1) milisekundám stisknutí klávesy 'a'.  A je připojeno k řetězci na obrazovce.
- Věnujte Y(=3) milisekundy současnému stisknutí klávesy Shift a klávesy 'a'.  a je připojeno k řetězci na obrazovce.
- Věnujte X(=1) milisekundám stisknutí klávesy 'a'.  A je připojeno k řetězci na obrazovce.

Ukázkový vstup 2

1 1 100
aAaAaA

Ukázkový výstup 2

6

Ukázkový vstup 3

1 2 4
aaAaAaaAAAAaAaaAaAAaaaAAAAAA

Ukázkový výstup 3

40


Graf s (k+1) vrcholy a k hranami se nazývá hvězda úrovně k (k\geq 2) tehdy a jen tehdy:

- má vrchol, který je spojen s každým z ostatních k vrcholů hranou, a nemá žádné jiné hrany.

Takahaši měl nejprve graf složený z hvězd.  Následující operaci opakoval tak dlouho, dokud nebyla každá dvojice vrcholů v grafu propojena:

- Vyberte dva vrcholy v grafu.  Zde musí být vrcholy nespojité a jejich stupně musí být oba 1. Přidejte hranu, která vybrané dva vrcholy spojí.

Každému z vrcholů v grafu pak po provedení postupu libovolně přiřadil celé číslo od 1 do N.  Výsledný graf je strom; nazýváme jej T. T má (N-1) hran, z nichž i-tá spojuje u_i a v_i.
Takahaši nyní zapomněl počet a úrovně hvězd, které měl původně k dispozici.  Najděte je, je-li dáno T.

Vstupní údaje

Vstup je zadán ze standardního vstupu v následujícím formátu:
N
u_1 v_1
\vdots
u_{N-1} v_{N-1}

Výstup

Předpokládejme, že Takahashi měl původně M hvězd, jejichž úrovně byly L=(L_1,L_2,\ldots,L_M).
Seřaďte L vzestupně a vypište je s mezerami mezi nimi.
Můžeme dokázat, že řešení je v tomto problému jedinečné.

Omezení

- 3\leq N\leq 2\times 10^5
- 1\leq u_i, v_i\leq N
- Daný graf je N-vrcholový strom získaný postupem uvedeným v zadání úlohy.
- Všechny hodnoty na vstupu jsou celá čísla.

Ukázkový vstup 1
6
1 2
2 3
3 4
4 5
5 6

Ukázkový výstup 1

2 2

Dvě hvězdy 2. úrovně dávají T, jak ukazuje následující obrázek:

Vzorový vstup 2

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

Ukázka výstupu 2

2 2 2

Vzorový vstup3

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

Ukázka výstupu3

2 3 4 7

Graf s (k+1) vrcholy a k hranami se nazývá hvězda úrovně k (kgeq 2) právě tehdy, když:

- Má vrchol, který je spojen se každým z ostatních vrcholů K s hranou a neexistují žádné další hrany.

Zpočátku měl Takahashi graf skládající se z hvězd.  Následující operaci opakoval, dokud nebyly všechny dvojice vrcholů v grafu spojeny:

- Vyberte dva vrcholy v grafu.  Zde musí být vrcholy odpojeny a jejich stupně musí být oba 1.  Přidejte hranu, která spojuje vybrané dva vrcholy.

Po proceduře pak libovolně přiřadil každému z vrcholů v grafu celé číslo od 1 do N.  Výsledný graf je strom; říkáme tomu T.  T má (N-1) hrany, z nichž i-tá spojuje u_i a v_i.
Takahashi nyní zapomněl na počet a úrovně hvězd, které původně měl.  Najděte je, vzhledem k T.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N
u_1 v_1
\vdots
u_{N-1} v_{N-1}
Výstup

Předpokládejme, že Takahashi měl zpočátku M hvězd, jejichž hladiny byly L=(L_1,L_2,ldots,L_M).
Seřaďte L ve vzestupném pořadí a vytiskněte je s mezerami mezi nimi.
Můžeme dokázat, že řešení je v tomto problému jedinečné.

Omezení

- 3\leq N\leq 2\times 10^5
- 1\leq u_i, v_i\leq N
- Daný graf je N-vrcholový strom získaný postupem v popisu úlohy.
- Všechny hodnoty ve vstupu jsou celá čísla.

Vzorový vstup 1

6
1 2
2 3
3 4
4 5
5 6

Ukázkový výstup 1

2 2

Dvě hvězdy úrovně 2 dávají T, jak ukazuje následující obrázek:

Vzorkovací vstup 2

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

Ukázkový výstup 2

2 2 2

Vzorkovací vstup 3

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

Ukázkový výstup 3

2 3 4 7

Graf s (k+1) vrcholy a k hranami se nazývá úroveň-k\ (k\geq 2) hvězda, pokud a jen pokud:

- má vrchol, který je spojen s každým z dalších k vrcholů hranou, a neexistují žádné jiné hrany.

Nejprve měl Takahashi graf sestávající z hvězd. Opakoval následující operaci, dokud nebyl každý pár vrcholů v grafu propojen:

- vybere dva vrcholy v grafu. Tyto vrcholy musí být nespojené a jejich stupně musí být oba 1. Přidá hranu, která spojuje vybrané dva vrcholy.

Poté libovolně přiřadil celé číslo od 1 do N každému z vrcholů v grafu po této proceduře. Výsledný graf je strom, který nazýváme T. T má (N-1) hran, z nichž i-tá spojuje u_i a v_i.
Takahashi nyní zapomněl počet a úrovně hvězd, které původně měl. Najděte je, když máte T.

Vstup

Vstup je poskytnut z Standard Input v následujícím formátu:
N
u_1 v_1
\vdots
u_{N-1} v_{N-1}

Výstup

Předpokládejme, že Takahashi původně měl M hvězd, jejichž úrovně byly L=(L_1,L_2,\ldots,L_M).
Seřaďte L vzestupně a vytiskněte je s mezerami mezi nimi.
Můžeme dokázat, že řešení je v tomto problému jedinečné.

Omezení

- 3\leq N\leq 2\times 10^5
- 1\leq u_i, v_i\leq N
- Daný graf je strom s N vrcholy získaný z procedury v zadání problému.
- Všechny hodnoty ve vstupu jsou celá čísla.

Ukázkový vstup 1

6
1 2
2 3
3 4
4 5
5 6

Ukázkový výstup 1

2 2

Dvě úroveň-2 hvězdy tvoří T, jak ukazuje následující obrázek:

Ukázkový vstup 2

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

Ukázkový výstup 2

2 2 2

Ukázkový vstup 3

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

Ukázkový výstup 3

2 3 4 7


Kolem kulatého stolu sedí v tomto pořadí ve směru hodinových ručiček N lidí s čísly 1, 2, \ldots, N.
Konkrétně osoba 1 sedí vedle osoby N ve směru hodinových ručiček.
Pro každé i = 1, 2, \ldots, N má osoba i jméno S_i a věk A_i.
Zde žádné dvě osoby nemají stejné jméno ani stejný věk.
Počínaje nejmladší osobou vypište jména všech N osob v pořadí jejich míst k sezení ve směru hodinových ručiček.

Vstup

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

Výstup

Vypište N řádků.
Pro každé i = 1, 2, \ldots, N by měl i-tý řádek obsahovat jméno osoby sedící na i-tém místě ve směru hodinových ručiček od nejmladší osoby.

Omezení

- 2 \leq N \leq 100
- N je celé číslo.
- S_i je řetězec o délce 1 až 10, který se skládá z malých anglických písmen.
- i \neq j \implies S_i \neq S_j
- 0 \leq A_i \leq 10^9
- A_i je celé číslo.
- i \neq j \implies A_i \neq A_j

Vzorový vstup 1

5
alice 31
bob 41
carol 5
dave 92
ellen 65

Vzorový výstup 1

carol
dave
ellen
alice
bob

Nejmladší osobou je osoba 3. Proto počínaje osobou 3 vytiskněte jména ve směru hodinových ručiček v pořadí, v jakém sedí: osoba 3, osoba 4, osoba 5, osoba 1 a osoba 2.

Vzorový vstup 2

2
takahashi 1000000000
aoki 999999999

Vzorový výstup 2

aoki
takahashi

Kolem kulatého stolu sedí N lidí očíslovaných 1, 2, \ldots, N v tomto pořadí po směru hodinových ručiček.
Zejména osoba 1 sedí vedle osoby N ve směru hodinových ručiček.
Pro každé i = 1, 2, \ldots, N má osoba i jméno S_i a věk A_i.
Tady žádní dva lidé nemají stejné jméno nebo stejný věk.
Začněte od nejmladší osoby a vytiskněte jména všech N lidí v pořadí jejich míst k sezení ve směru hodinových ručiček.

Vstup

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

Výstup

Vytiskněte N řádků.
Pro každé i = 1, 2, \ldots, N by i-tý řádek měl obsahovat jméno osoby sedící na i-té pozici ve směru hodinových ručiček od nejmladší osoby.

Omezení

- 2 \leq N \leq 100
- N je celé číslo.
- S_i je řetězec délky mezi 1 a 10, který se skládá z malých anglických písmen.
- i \neq j \implikuje S_i \neq S_j
- 0 \leq A_i \leq 10^9
- A_i je celé číslo.
- i \neq j \implikuje A_i \neq A_j

Ukázkový vstup 1

5
Alice 31
bob 41
Carol 5
dave 92
Ellen 65

Ukázkový výstup 1

Carol
dave
Ellen
Alice
bob

Nejmladší osobou je osoba 3. Proto počínaje osobou 3 vytiskněte jména ve směru hodinových ručiček podle jejich pozic k sezení: osoba 3, osoba 4, osoba 5, osoba 1 a osoba 2.

Ukázkový vstup 2

2
takahashi 1000000000
aoki 999999999

Ukázkový výstup 2

aoki
takahashi

Kolem kulatého stolu sedí N lidí očíslovaných 1, 2, \ldots, N v tomto pořadí ve směru hodinových ručiček.
Zejména osoba 1 sedí vedle osoby N ve směru hodinových ručiček.
Pro každé i = 1, 2, \ldots, N má osoba i jméno S_i a věk A_i.
Tady žádní dva lidé nemají stejné jméno nebo stejný věk.
Začněte od nejmladší osoby a vytiskněte jména všech N lidí v pořadí jejich míst k sezení ve směru hodinových ručiček.

Vstup

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

Výstup

Vytiskněte N řádků.
Pro každé i = 1, 2, \ldots, N by i-tý řádek měl obsahovat jméno osoby sedící na i-té pozici ve směru hodinových ručiček od nejmladší osoby.

Omezení

- 2 \leq N \leq 100
- N je celé číslo.
- S_i je řetězec délky mezi 1 a 10, který se skládá z malých anglických písmen.
- i \neq j \implikuje S_i \neq S_j
- 0 \leq A_i \leq 10^9
- A_i je celé číslo.
- i \neq j \implikuje A_i \neq A_j

Ukázkový vstup 1

5
alice 31
bob 41
carol 5
dave 92
ellen 65

Ukázkový výstup 1

carol
dave
ellen
alice
bob

Nejmladší osobou je osoba 3. Proto počínaje osobou 3 vytiskněte jména ve směru hodinových ručiček podle jejich pozic k sezení: osoba 3, osoba 4, osoba 5, osoba 1 a osoba 2.

Ukázkový vstup 2

2
takahashi 1000000000
aoki 999999999

Ukázkový výstup 2

aoki
takahashi


Je vám přiděleno celé číslo N.
Vytiskněte přibližnou hodnotu N podle následujících pokynů.

- Pokud je N menší nebo rovno 10^3-1, vytiskněte N tak, jak je.
- Pokud je N mezi 10^3 a 10^4-1 včetně, zkraťte jedničky z N a vytiskněte výsledek.
- Pokud je N mezi 10^4 a 10^5-1 včetně, zkraťte desítky a všechny nižší číslice a vytiskněte výsledek.
- Je-li N mezi 10^5 a 10^6-1 včetně, zkraťte stovky a všechny nižší číslice a vytiskněte výsledek.
- Pokud je N mezi 10^6 a 10^7-1 včetně, zkraťte tisícovou číslici a všechny číslice pod ní z N a vytiskněte výsledek.
- Pokud je N mezi 10^7 a 10^8-1 včetně, zkraťte desetitisícovou číslici a všechny číslice pod ní z N a vytiskněte výsledek.
- Pokud je N mezi 10^8 a 10^9-1 včetně, zkraťte statisícovou číslici a všechny číslice pod ní z N a vytiskněte výsledek.

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 0 a 10^9-1 včetně.

Ukázkový vstup 1

20230603

Ukázkový výstup 1

20200000

20230603 je mezi 10^7 a 10^8-1 (včetně).
Zkraťte proto desetitisícovou číslici a všechny číslice pod ní a vytiskněte 20200000.

Ukázkový vstup 2

0

Ukázkový výstup 2

0

Ukázkový vstup 3

304

Ukázkový výstup 3

304

Ukázkový vstup 4

500600

Ukázkový výstup 4

500000

Je dán celé číslo N.
Vytiskněte aproximaci čísla N podle následujících pokynů.

- Pokud je N menší než nebo rovno 10^3-1, vytiskněte N tak, jak je.
- Pokud je N mezi 10^3 a 10^4-1 včetně, ořízněte jedničkovou číslici z N a vytiskněte výsledek.
- Pokud je N mezi 10^4 a 10^5-1 včetně, ořízněte desítkovou číslici a všechny číslice pod ní z N a vytiskněte výsledek.
- Pokud je N mezi 10^5 a 10^6-1 včetně, ořízněte stovkovou číslici a všechny číslice pod ní z N a vytiskněte výsledek.
- Pokud je N mezi 10^6 a 10^7-1 včetně, ořízněte tisícovou číslici a všechny číslice pod ní z N a vytiskněte výsledek.
- Pokud je N mezi 10^7 a 10^8-1 včetně, ořízněte desetitisícovou číslici a všechny číslice pod ní z N a vytiskněte výsledek.
- Pokud je N mezi 10^8 a 10^9-1 včetně, ořízněte statisícovou číslici a všechny číslice pod ní z N a vytiskněte výsledek.

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 0 a 10^9-1 včetně.

Vzorový vstup 1

20230603

Vzorový výstup 1

20200000

20230603 je mezi 10^7 a 10^8-1 (včetně).
Proto ořízněte desetitisícovou číslici a všechny číslice pod ní a vytiskněte 20200000.

Vzorový vstup 2

0

Vzorový výstup 2

0

Vzorový vstup 3

304

Vzorový výstup 3

304

Vzorový vstup 4

500600

Vzorový výstup 4

500000

Je vám přiděleno celé číslo N.
Vytiskněte přibližnou hodnotu N podle následujících pokynů.

- Pokud je N menší nebo rovno 10^3-1, vytiskněte N tak, jak je.
- Pokud je N mezi 10^3 a 10^4-1 včetně, zkraťte jednotky z N a vytiskněte výsledek.
- Pokud je N mezi 10^4 a 10^5-1 včetně, zkraťte jednotky a všechny číslice pod ní z N a vytiskněte výsledek.
- Je-li N mezi 10^5 a 10^6-1 včetně, zkraťte stovky a všechny nižší číslice a vytiskněte výsledek.
- Pokud je N mezi 10^6 a 10^7-1 včetně, zkraťte číslici N a všechny číslice pod ní a vytiskněte výsledek.
- Pokud je N mezi 10^7 a 10^8-1 včetně, zkraťte desetitisícovou číslici a všechny číslice pod ní z N a vytiskněte výsledek.
- Pokud je N mezi 10^8 a 10^9-1 včetně, zkraťte desetitisícovou číslici a všechny číslice pod ní z N a vytiskněte výsledek.

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 0 a 10^9-1 včetně.

Ukázkový vstup 1

20230603

Ukázkový výstup 1

20200000

20230603 je mezi 10^7 a 10^8-1 (včetně).
Zkraťte proto desetitisícovou číslici a všechny číslice pod ní a vytiskněte 20200000.

Ukázkový vstup 2

0

Ukázkový výstup 2

0

Ukázkový vstup 3

304

Ukázkový výstup 3

304

Ukázkový vstup 4

500600

Ukázkový výstup 4

500000


Na dvourozměrné rovině se nachází N osob očíslovaných 1, 2, \ldots, N a osoba i se nachází v bodě reprezentovaném souřadnicemi (X_i,Y_i). Osoba 1 byla nakažena virem. Virus se šíří na lidi ve vzdálenosti D od nakažené osoby. Zde je vzdálenost definována jako Euklidovská vzdálenost, tj. pro dva body (a_1, a_2) a (b_1, b_2) je vzdálenost mezi těmito dvěma body \sqrt {(a_1-b_1)^2 + (a_2-b_2)^2}. Po dostatečném čase, to znamená, když všechny osoby ve vzdálenosti D od osoby i se nakazí virem, pokud je osoba i nakažena, určete, zda je osoba i nakažena virem pro každé i.

Vstup

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

Výstup

Vytiskněte N řádků. i-tý řádek by měl obsahovat Yes pokud je osoba i nakažena virem, a No jinak.

Omezení

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

Ukázkový vstup 1

4 5
2 -1
3 1
8 8
0 5

Ukázkový výstup 1

Yes
Yes
No
Yes

Vzdálenost mezi osobou 1 a osobou 2 je \sqrt 5, takže osoba 2 se nakazí virem. Také vzdálenost mezi osobou 2 a osobou 4 je 5, takže osoba 4 se nakazí virem. Osoba 3 nemá nikoho ve vzdálenosti 5, takže nebude nakažena virem.

Ukázkový vstup 2

3 1
0 0
-1000 -1000
1000 1000

Ukázkový výstup 2

Yes
No
No

Ukázkový vstup 3

9 4
3 2
6 -1
1 6
6 5
-2 -3
5 3
2 -3
2 1
2 6

Ukázkový výstup 3

Yes
No
No
Yes
Yes
Yes
Yes
Yes
No

Na dvourozměrné rovině je N lidí očíslovaných 1, 2, \ldots, N a osoba i je v bodě reprezentovaném souřadnicemi (X_i,Y_i).
Osoba 1 byla infikována virem. Virus se šíří na osoby ve vzdálenosti D od infikované osoby.
Zde je vzdálenost definována jako euklidovská vzdálenost, to znamená, že pro dva body (a_1, a_2) a (b_1, b_2) je vzdálenost mezi těmito dvěma body \sqrt {(a_1-b_1)^2 + (a_2- b_2)^2}.
Po uplynutí dostatečné doby, tj. když jsou virem infikováni všichni lidé ve vzdálenosti D od osoby i, pokud je infikována osoba i, určete, zda je osoba i infikována virem pro každé i.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N D
X_1 Y_1
X_2 Y_2
\vtečky
X_N Y_N

Výstup

Vytiskněte N řádků. I-tý řádek by měl obsahovat Ano, pokud je osoba i infikována virem, a Ne jinak.

Omezení

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

Ukázkový vstup 1

4 5
2-1
3 1
8 8
0 5

Ukázkový výstup 1

Yes
Yes
No
Yes

Vzdálenost mezi osobou 1 a osobou 2 je \sqrt 5, takže osoba 2 se nakazí virem.
Také vzdálenost mezi osobou 2 a osobou 4 je 5, takže osoba 4 se nakazí virem.
Osoba 3 nemá nikoho ve vzdálenosti 5, takže nebude infikována virem.

Ukázkový vstup 2

3 1
0 0
-1000 -1000
1000 1000

Ukázkový výstup 2

Yes
No
No

Ukázkový vstup 3

9 4
3 2
6 -1
1 6
6 5
-2 -3
5 3
2-3
2 1
2 6

Ukázkový výstup 3

Yes
No
No
Yes
Yes
Yes
Yes
Yes
No

Na dvourozměrné rovině je N osob očíslovaných 1, 2, \bodů, N a osoba i se nachází v bodě reprezentovaném souřadnicemi (X_i,Y_i).
Osoba 1 byla nakažena virem. Virus se šíří na osoby ve vzdálenosti D od nakažené osoby.
Vzdálenost je zde definována jako euklidovská vzdálenost, to znamená, že pro dva body (a_1, a_2) a (b_1, b_2) je vzdálenost mezi těmito dvěma body \sqrt {(a_1-b_1)^2 + (a_2-b_2)^2}.
Po uplynutí dostatečně dlouhé doby, tj. když jsou všichni lidé ve vzdálenosti D od osoby i nakaženi virem, pokud je osoba i nakažena, určete, zda je osoba i nakažena virem pro každé i.

Vstup

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

Výstup

Vytiskněte N řádků. Na i-tém řádku by mělo být uvedeno Ano, pokud je osoba i nakažena virem, a Ne v opačném případě.

Omezení

- 1 \leq N, D \leq 2000
-1000 \leq X_i, Y_i \leq 1000
- (X_i, Y_i) \neq (X_j, Y_j), jestliže i \neq j.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázka vstupu 1

4 5
2 -1
3 1
8 8
0 5

Ukázka výstupu 1

Yes
Yes
No
Yes

Vzdálenost mezi osobou 1 a osobou 2 je \sqrt 5, takže osoba 2 se nakazí virem.
Také vzdálenost mezi osobou 2 a osobou 4 je 5, takže osoba 4 se nakazí virem.
Osoba 3 nemá nikoho ve vzdálenosti 5, takže se virem nenakazí.

Vzorový vstup 2

3 1
0 0
-1000 -1000
1000 1000

Výstupní vzorek 2

Yes
No
No

Vstupní vzorek 3

9 4
3 2
6 -1
1 6
6 5
-2 -3
5 3
2 -3
2 1
2 6

Ukázka výstupu 3

Yes
No
No
Yes
Yes
Yes
Yes
Yes
No


Na rovině xy je obdélníkový dort s několika jahodami. Koláč zabírá obdélníkovou plochu \lbrace (x, y) : 0 \leq x \leq W, 0 \leq y \leq H \rbrace.
Na dortu je N jahod a souřadnice i-té jahody jsou (p_i, q_i) pro i = 1, 2, \ldots, N. Žádné dvě jahody nemají stejné souřadnice.
Takahashi nakrájí dort nožem na několik kusů následovně.

- Nejprve uřízněte dort podél A různých čar rovnoběžných s osou y: čáry x = a_1, x = a_2, \ldots, x = a_A.
- Dále uřízněte dort podél B různých čar rovnoběžných s osou x: čáry y = b_1, y = b_2, \ldots, y = b_B.

V důsledku toho bude dort rozdělen na (A+1)(B+1) obdélníkové kusy. Takahashi si vybere k jídlu právě jeden z těchto kousků. Vytiskněte minimální a maximální možný počet jahod na vybraný kousek.
Zde je zaručeno, že podél okrajů finálních kousků nejsou žádné jahody. Formálnější popis naleznete v níže uvedených omezeních.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
W H
N
p_1 q_1
p_2 q_2
\vdots
p_N q_N
A
a_1 a_2 \ldots a_A
B
b_1 b_2 \ldots b_B

Výstup

Na vybraný kus vytiskněte minimální možný počet jahod m a maximální možný počet M v následujícím formátu oddělené mezerou.
m M

Omezení

- 3 \leq W, H \leq 10^9
- 1 \leq N \leq 2 \times 10^5
- 0 \lt p_i \lt W
- 0 \lt q_i \lt H
- i \neq j \implies (p_i, q_i) \neq (p_j, q_j)
- 1 \leq A, B \leq 2 \times 10^5
- 0 \lt a_1 \lt a_2 \lt \cdots \lt a_A \lt W
- 0 \lt b_1 \lt b_2 \lt \cdots \lt b_B \lt H
- p_i \not \in \lbrace a_1, a_2, \ldots, a_A \rbrace
- q_i \not \in \lbrace b_1, b_2, \ldots, b_B \rbrace
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

0 2

Je jich celkem devět kusů: šest s nula jahodami, jeden s jednou jahodou a dva se dvěma jahodami. Při výběru pouze jednoho z těchto kousků ke konzumaci je tedy minimální možný počet jahod na vybraném kousku 0 a maximální možný počet 2.

Ukázkový vstup 2

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

Ukázkový výstup 2

1 1

Na každém kousku je jedna jahoda.

Na rovině xy je obdélníkový dort s několika jahodami. Koláč zabírá obdélníkovou plochu \lbrace (x, y) : 0 \leq x \leq W, 0 \leq y \leq H \rbrace.
Na dortu je N jahod a souřadnice i-té jahody jsou (p_i, q_i) pro i = 1, 2, \ldots, N. Žádné dvě jahody nemají stejné souřadnice.
Takahashi nakrájí dort nožem na několik kusů následovně.

- Nejprve uřízněte dort podél A různých čar rovnoběžných s osou y: čáry x = a_1, x = a_2, \ldots, x = a_A.
- Dále uřízněte dort podél B různých čar rovnoběžných s osou x: čáry y = b_1, y = b_2, \ldots, y = b_B.

V důsledku toho bude dort rozdělen na (A+1)(B+1) obdélníkové kusy. Takahashi si vybere k jídlu právě jeden z těchto kousků. Na vybraný kousek natiskněte minimální a maximální možný počet jahod.
Zde je zaručeno, že podél okrajů finálních kousků nejsou žádné jahody. Formálnější popis naleznete v níže uvedených omezeních.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
W H
N
p_1 q_1
p_2 q_2
\vtečky
p_N q_N
A
a_1 a_2 \ldots a_A
B
b_1 b_2 \ldots b_B

Výstup

Na vybraný kus vytiskněte minimální možný počet jahod m a maximální možný počet M v následujícím formátu, oddělené mezerou.
m M

Omezení

- 3 \leq W, H \leq 10^9
- 1 \leq N \leq 2 \krát 10^5
- 0 \lt p_i \lt W
- 0 \lt q_i \lt H
- i \neq j \implies (p_i, q_i) \neq (p_j, q_j)
- 1 \leq A, B \leq 2 \krát 10^5
- 0 \lt a_1 \lt a_2 \lt \cdots \lt a_A \lt W
- 0 \lt b_1 \lt b_2 \lt \cdots \lt b_B \lt H
- p_i \not\in \lbrace a_1, a_2, \ldots, a_A \rbrace
- q_i \not \in \lbrace b_1, b_2, \ldots, b_B \rbrace
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

0 2

Je jich celkem devět kusů: šest s nulou jahod, jeden s jednou jahodou a dva se dvěma jahodami. Při výběru pouze jednoho z těchto kousků ke konzumaci je tedy minimální možný počet jahod na vybraném kousku 0 a maximální možný počet 2.

Ukázkový vstup 2

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

Ukázkový výstup 2

1 1

Na každém kousku je jedna jahoda.

Na xy-rovině je obdélníkový dort s několika jahodami. Dort zabírá obdélníkovou oblast \lbrace (x, y) : 0 \leq x \leq W, 0 \leq y \leq H \rbrace.
Na dortu je N jahod a souřadnice i-té jahody jsou (p_i, q_i) pro i = 1, 2, \ldots, N. Žádné dvě jahody nemají stejné souřadnice.
Takahashi rozřeže dort na několik kusů pomocí nože následujícím způsobem.

- Nejprve rozřízne dort podél A různých přímek rovnoběžných s osou y: přímky x = a_1, x = a_2, \ldots, x = a_A.
- Poté rozřízne dort podél B různých přímek rovnoběžných s osou x: přímky y = b_1, y = b_2, \ldots, y = b_B.

Výsledkem bude, že dort bude rozdělen na (A+1)(B+1) obdélníkových kusů. Takahashi si vybere jen jeden z těchto kusů k jídlu. Vytiskněte minimální a maximální možný počet jahod na vybraném kusu.
Zde je zaručeno, že se na okrajích výsledných kusů nenachází žádné jahody. Pro formálnější popis se podívejte na níže uvedená omezení.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
W H
N
p_1 q_1
p_2 q_2
\vdots
p_N q_N
A
a_1 a_2 \ldots a_A
B
b_1 b_2 \ldots b_B

Výstup

Vytiskněte minimální možný počet jahod m a maximální možný počet M na vybraném kusu ve formátu odděleném mezerou.
m M

Omezení

- 3 \leq W, H \leq 10^9
- 1 \leq N \leq 2 \times 10^5
- 0 \lt p_i \lt W
- 0 \lt q_i \lt H
- i \neq j \implies (p_i, q_i) \neq (p_j, q_j)
- 1 \leq A, B \leq 2 \times 10^5
- 0 \lt a_1 \lt a_2 \lt \cdots \lt a_A \lt W
- 0 \lt b_1 \lt b_2 \lt \cdots \lt b_B \lt H
- p_i \not \in \lbrace a_1, a_2, \ldots, a_A \rbrace
- q_i \not \in \lbrace b_1, b_2, \ldots, b_B \rbrace
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

0 2

Celkem je devět kusů: šest s nulou jahod, jeden s jednou jahodou a dva s dvěma jahodami. Proto, když si Takahashi vybere jeden z těchto kusů k jídlu, minimální možný počet jahod je 0 a maximální možný počet je 2.

Ukázkový vstup 2

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

Ukázkový výstup 2

1 1

Každý kus má jednu jahodu na sobě.


Máte neorientovaný graf G s N vrcholy a M hranami.
Pro i = 1, 2, \ldots, M, i-tá hrana je neorientovaná hrana spojující vrcholy u_i a v_i.
Graf s N vrcholy se nazývá dobrý, pokud pro všechna i = 1, 2, \ldots, K platí následující podmínka:

- neexistuje cesta spojující vrcholy x_i a y_i v G.

Daný graf G je dobrý.
Je vám dáno Q nezávislých otázek. Odpovězte na všechny.
Pro i = 1, 2, \ldots, Q, i-tá otázka je následující.

- Je graf G^{(i)} získaný přidáním neorientované hrany spojující vrcholy p_i a q_i k danému grafu G stále dobrý?

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M
K
x_1 y_1
x_2 y_2
\vdots
x_K y_K
Q
p_1 q_1
p_2 q_2
\vdots
p_Q q_Q

Výstup

Vytiskněte Q řádků.
Pro i = 1, 2, \ldots, Q, i-tý řádek by měl obsahovat odpověď na i-tou otázku: Yes pokud je graf G^{(i)} dobrý, a No jinak.

Omezení

- 2 \leq N \leq 2 \times 10^5
- 0 \leq M \leq 2 \times10^5
- 1 \leq u_i, v_i \leq N
- 1 \leq K \leq 2 \times 10^5
- 1 \leq x_i, y_i \leq N
- x_i \neq y_i
- i \neq j \implies \lbrace x_i, y_i \rbrace \neq \lbrace x_j, y_j \rbrace
- Pro všechna i = 1, 2, \ldots, K neexistuje cesta spojující vrcholy x_i a y_i.
- 1 \leq Q \leq 2 \times 10^5
- 1 \leq p_i, q_i \leq N
- p_i \neq q_i
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

No
No
Yes
Yes

- Pro první otázku graf G^{(1)} není dobrý, protože existuje cesta 1 \rightarrow 2 \rightarrow 5 spojující vrcholy x_1 = 1 a y_1 = 5. Proto vytiskněte No.
- Pro druhou otázku graf G^{(2)} není dobrý, protože existuje cesta 2 \rightarrow 6 spojující vrcholy x_2 = 2 a y_2 = 6. Proto vytiskněte No.
- Pro třetí otázku graf G^{(3)} je dobrý. Proto vytiskněte Yes.
- Pro čtvrtou otázku graf G^{(4)} je dobrý. Proto vytiskněte Yes.

Jak je vidět v tomto ukázkovém vstupu, daný graf G může mít smyčky nebo vícečetné hrany.

Máte neorientovaný graf G s N vrcholy a M hranami.
Pro i = 1, 2, \ldots, M, i-th hrana je neorientovaná hrana spojující vrcholy u_i a v_i.
Graf s N vrcholy se nazývá dobrý, pokud pro všechna i = 1, 2, \ldots, K platí následující podmínka:

- neexistuje cesta spojující vrcholy x_i a y_i v G.

Daný graf G je dobrý.
Je vám dáno Q nezávislých otázek. Odpovězte na všechny.
Pro i = 1, 2, \ldots, Q, i-th otázka je následující.

- Je graf G^{(i)} získaný přidáním neorientované hrany spojující vrcholy p_i a q_i k danému grafu G stále dobrý?

Vstup

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

N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M
K
x_1 y_1
x_2 y_2
\vdots
x_K y_K
Q
p_1 q_1
p_2 q_2
\vdots
p_Q q_Q

Výstup

Vytiskněte Q řádků.
Pro i = 1, 2, \ldots, Q, i-th řádek by měl obsahovat odpověď na i-th otázku: Yes pokud je graf G^{(i)} dobrý, a No jinak.

Omezení

- 2 \leq N \leq 2 \times 10^5
- 0 \leq M \leq 2 \times10^5
- 1 \leq u_i, v_i \leq N
- 1 \leq K \leq 2 \times 10^5
- 1 \leq x_i, y_i \leq N
- x_i \neq y_i
- i \neq j \implies \lbrace x_i, y_i \rbrace \neq \lbrace x_j, y_j \rbrace
- Pro všechna i = 1, 2, \ldots, K neexistuje cesta spojující vrcholy x_i a y_i.
- 1 \leq Q \leq 2 \times 10^5
- 1 \leq p_i, q_i \leq N
- p_i \neq q_i
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

No
No
Yes
Yes

- Pro první otázku graf G^{(1)} není dobrý, protože existuje cesta 1 \rightarrow 2 \rightarrow 5 spojující vrcholy x_1 = 1 a y_1 = 5. Proto vytiskněte No.
- Pro druhou otázku graf G^{(2)} není dobrý, protože existuje cesta 2 \rightarrow 6 spojující vrcholy x_2 = 2 a y_2 = 6. Proto vytiskněte No.
- Pro třetí otázku graf G^{(3)} je dobrý. Proto vytiskněte Yes.
- Pro čtvrtou otázku graf G^{(4)} je dobrý. Proto vytiskněte Yes.

Jak je vidět v tomto ukázkovém vstupu, daný graf G může mít smyčky nebo vícečetné hrany.

Dostanete neorientovaný graf G s N vrcholy a M hranami.
Pro i = 1, 2, \ldots, M je i-tá hrana neorientovaná hrana spojující vrcholy u_i a v_i.
Graf s N vrcholy se nazývá dobrý, pokud pro všechna i = 1, 2, \ldots, K platí následující podmínka:

- v G není žádná cesta spojující vrcholy x_i a y_i.

Daný graf G je dobrý.
Dostanete Q nezávislých otázek. Odpovězte na všechny.
Pro i = 1, 2, \ldots, Q je i-tá otázka následující.

- Je graf G^{(i)} získaný přidáním neorientované hrany spojující vrcholy p_i a q_i do daného grafu G dobrý?

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M
K
x_1 y_1
x_2 y_2
\vdots
x_K y_K
Q
p_1 q_1
p_2 q_2
\vdots
p_Q q_Q

Výstup

Vytiskněte Q řádky.
Pro i = 1, 2, \ldots, Q by měl i-tý řádek obsahovat odpověď na i-tou otázku: Ano, pokud je graf G^{(i)} dobrý, a jinak Ne.

Omezení

- 2 \leq N \leq 2 \times 10^5
- 0 \leq M \leq 2 \times10^5
- 1 \leq u_i, v_i \leq N
- 1 \leq K \leq 2 \times 10^5
- 1 \leq x_i, y_i \leq N
- x_i \neq y_i
- i \neq j \implies \lbrace x_i, y_i \rbrace \neq \lbrace x_j, y_j \rbrace
- Pro všechna i = 1, 2, \ldots, K neexistuje žádná cesta spojující vrcholy x_i a y_i.
- 1 \leq Q \leq 2 \times 10^5
- 1 \leq p_i, q_i \leq N
- p_i \neq q_i
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

No
No
Yes
Yes

- U první otázky není graf G^{(1)} dobrý, protože má cestu 1 \rightarrow 2 \rightarrow 5 spojující vrcholy x_1 = 1 a y_1 = 5. Proto vytiskněte No.
- U druhé otázky není graf G^{(2)} dobrý, protože má cestu 2 \rightarrow 6 spojujících vrcholy x_2 = 2 a y_2 = 6. Proto vytiskněte No.
- U třetí otázky je graf G^{(3)} dobrý. Proto vytiskněte Ano.
- U čtvrté otázky je graf G^{(4)} dobrý. Proto vytiskněte Ano.

Jak je vidět na tomto vzorovém vstupu, povšimněte si, že daný graf G může mít násobné hrany.


Na ultramaratonské trati o celkové délce 100\;\mathrm{km} jsou každých 5\;\mathrm{km} rozmístěny stanice s vodou, včetně startu a cíle, celkem tedy 21 stanovišť. Takahashi se nachází na bodě N\;\mathrm{km} této trati.
Najděte polohu nejbližší stanice s vodou k němu. Za daných podmínek lze dokázat, že nejbližší stanice s vodou je jednoznačně určena.

Vstup

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

Výstup

Vytiskněte vzdálenost mezi startem a nejbližší stanicí s vodou k Takahashimu, v kilometrech, na jedné řádce.

Omezení

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

Ukázkový vstup 1

53

Ukázkový výstup 1

55

Takahashi se nachází na 53\;\mathrm{km} bodě trati.
Stanice s vodou na 55\;\mathrm{km} je vzdálena 2\;\mathrm{km} a není žádná bližší stanice s vodou.
Proto byste měli vytisknout 55.

Ukázkový vstup 2

21

Ukázkový výstup 2

20

Takahashi by se mohl také vrátit zpět.

Ukázkový vstup 3

100

Ukázkový výstup 3

100

Stanice s vodou jsou také na startu a cíli.
Další možností je, že Takahashi už může být na stanici s vodou.

K dispozici je ultramaratonská trať o celkové délce 100\;\mathrm{km}.
Každých 5 km včetně startu a cíle je rozmístěno 21 vodních stanic.
Takahashi se nachází v bodě N na této trati.
Najděte polohu jemu nejbližší vodní stanice.
Při omezeních tohoto problému lze dokázat, že nejbližší vodní stanice je jednoznačně určena.

Vstupní údaje

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

Výstup:

Vypište vzdálenost mezi startem a vodní stanicí, která je nejblíže k Takahashi, v kilometrech na jednom řádku.

Omezení

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

Příklad Vstup 1

53

Ukázkový výstup 1

55

Takahashi je v bodě 53\;\mathrm{km} dráhy.
Vodní stanice v bodě 55\;\mathrm{km} je vzdálena 2\;\mathrm{km} a žádná bližší vodní stanice není.
Proto byste měli vytisknout 55.

Vzorový vstup 2

21

Ukázka výstupu 2

20

Takahaši by se také mohl vrátit zpět.

Ukázka vstupu 3

100

Ukázka výstupu 3

100

Na startu a v cíli jsou také stanice s vodou.
Takahashi se navíc již může nacházet na vodní stanici.

K dispozici je ultramaratonská trať o celkové délce 100\;\mathrm{km}.
Každých 5 km včetně startu a cíle je rozmístěno 21 vodních stanic.
Takahaši se nachází v bodě N na této trati.
Najděte polohu jemu nejbližší vodní stanice.
Při omezeních tohoto problému lze dokázat, že nejbližší vodní stanice je jednoznačně určena.

Vstup

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

Výstup

Vypište vzdálenost mezi startem a vodní stanicí, která je nejblíže k Takahašimu, v kilometrech na jednom řádku.

Omezení

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

Vzorový vstup 1

53

Vzorový výstup 1

55

Takahaši je v bodě 53\;\mathrm{km} dráhy.
Vodní stanice v bodě 55\;\mathrm{km} je vzdálena 2\;\mathrm{km} a žádná bližší vodní stanice není.
Proto byste měli vytisknout 55.

Vzorový vstup 2

21

Vzorový výstup 2

20

Takahaši by se také mohl vrátit zpět.

Vzorový vstup 3

100

Vzorový výstup 3

100

Na startu a v cíli jsou také stanice s vodou.
Takahaši se navíc již může nacházet na vodní stanici.


Na přímce je 7 bodů A, B, C, D, E, F a G, v tomto pořadí. (Viz také obrázek níže.)
Vzdálenosti mezi sousedními body jsou následující.

- Mezi A a B: 3
- Mezi B a C: 1
- Mezi C a D: 4
- Mezi D a E: 1
- Mezi E a F: 5
- Mezi F a G: 9

Jsou zadána dvě velká písmena anglické abecedy p a q. Každé z písmen p a q je A, B, C, D, E, F, nebo G, a platí, že p \neq q.
Najděte vzdálenost mezi body p a q.

Vstup

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

Výstup

Vytiskněte vzdálenost mezi body p a q.

Omezení

- Každé z písmen p a q je A, B, C, D, E, F nebo G.
- p \neq q

Ukázkový Vstup 1

A C

Ukázkový Výstup 1

4

Vzdálenost mezi body A a C je 3 + 1 = 4.

Ukázkový Vstup 2

G B

Ukázkový Výstup 2

20

Vzdálenost mezi body G a B je 9 + 5 + 1 + 4 + 1 = 20.

Ukázkový Vstup 3

C F

Ukázkový Výstup 3

10

Na přímce je 7 bodů A, B, C, D, E, F a G v tomto pořadí. (Viz také obrázek níže.)
Vzdálenosti mezi sousedními body jsou následující.

- Mezi body A a B: 3
- Mezi body B a C: 1
- Mezi C a D: 4
- Mezi D a E: 1
- Mezi E a F: 5
- Mezi F a G: 9

Jsou dána dvě velká anglická písmena p a q. Každé z písmen p a q je A, B, C, D, E, F nebo G a platí, že p \neq q.
Určete vzdálenost mezi body p a q.

Vstupní údaje

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

Výstup

Vypište vzdálenost mezi body p a q.

Omezení

- Každý z bodů p a q je A,B,C,D,E,F nebo G.
- p \neq q

Ukázka Vstup 1

A C

Vzorový výstup 1

4

Vzdálenost mezi body A a C je 3 + 1 = 4.

Vzorový vstup 2

G B

Vzorový výstup 2

20

Vzdálenost mezi body G a B je 9 + 5 + 1 + 4 + 1 = 20.

Vzorový vstup 3

C F

Ukázkový výstup 3

10

Na přímce je v tomto pořadí 7 bodů A, B, C, D, E, F a G. (Viz také obrázek níže.)
Vzdálenosti mezi sousedními body jsou následující:

- Mezi A a B: 3
- Mezi B a C: 1
- Mezi C a D: 4
- Mezi D a E: 1
- Mezi E a F: 5
- Mezi F a G: 9

Jsou vám dána dvě velká písmena anglické abecedy (p) a (q). Každé z (p) a (q) je jedním z A, B, C, D, E, F nebo G, přičemž platí, že (p neq q).
Najděte vzdálenost mezi body (p) a (q).

Vstup

Vstup je zadán na standardním vstupu v následujícím formátu:
(p) (q)

Výstup

Vypište vzdálenost mezi body (p) a (q
).

Omezení

- Každé z písmen p a q je A, B, C, D, E, F nebo G.
- p \neq q

Ukázkový Vstup 1

A C

Ukázkový Výstup 1

4

Vzdálenost mezi body A a C je 3 + 1 = 4.

Ukázkový Vstup 2

G B

Ukázkový Výstup 2

20

Vzdálenost mezi body G a B je 9 + 5 + 1 + 4 + 1 = 20.

Ukázkový Vstup 3

C F

Ukázkový Výstup 3

10