Na události s názvem Flowing Noodles je shromážděno N lidí. Lidé stojí v řadě, očíslováni od 1 do N od přední k zadní části.
Během události se stane M následujících událostí:

- V čase T_i přiteče množství W_i nudlí. Osoba na začátku řady je dostane všechny (pokud nikdo v řadě není, nikdo nic nedostane). Tato osoba pak vystoupí z řady a vrátí se na své původní místo v řadě v čase T_i+S_i.

Osoba, která se vrátí do řady v čase X, je považována za přítomnou v řadě v čase X.
Po všech M událostech určete, kolik nudlí každý člověk dohromady obdržel.

Vstup

Vstup je dán ze standardního vstupu ve formátu:
N M
T_1 W_1 S_1
\vdots
T_M W_M S_M

Výstup

Vypište N řádků.
Na i-tém řádku bude množství nudlí, které osoba i obdržela.

Omezení

- 1 \leq N \leq 2\times 10^5
- 1 \leq M \leq 2\times 10^5
- 0 <T_1 <\ldots < T_M \leq 10^9
- 1 \leq S_i \leq 10^9
- 1 \leq W_i \leq 10^9
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 5
1 1 3
2 10 100
4 100 10000
10 1000 1000000000
100 1000000000 1

Ukázkový výstup 1

101
10
1000

Událost probíhá následovně:

- V čase 1 přiteče množství 1 nudlí. V řadě jsou osoby 1, 2 a 3 a osoba na začátku, osoba 1, dostane nudle a vystoupí z řady.
- V čase 2 přiteče množství 10 nudlí. V řadě jsou osoby 2 a 3 a osoba na začátku, osoba 2, dostane nudle a vystoupí z řady.
- V čase 4 se osoba 1 vrátí do řady.
- V čase 4 přiteče množství 100 nudlí. V řadě jsou osoby 1 a 3 a osoba na začátku, osoba 1, dostane nudle a vystoupí z řady.
- V čase 10 přiteče množství 1000 nudlí. V řadě je pouze osoba 3 a osoba na začátku, osoba 3, dostane nudle a vystoupí z řady.
- V čase 100 přiteče množství 1000000000 nudlí. Nikdo není v řadě, takže nikdo nedostane nudle.
- V čase 102 se osoba 2 vrátí do řady.
- V čase 10004 se osoba 1 vrátí do řady.
- V čase 1000000010 se osoba 3 vrátí do řady.

Celková množství nudlí, které osoby 1, 2 a 3 obdržely, jsou 101, 10 a 1000.

Ukázkový vstup 2

3 1
1 1 1

Ukázkový výstup 2

1
0
0

Ukázkový vstup 3

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

Ukázkový výstup 3

15

Na akci s názvem Flowing Noodles se sešlo N lidí. Lidé jsou seřazeni v řadě, očíslovaní od 1 do N v pořadí zepředu dozadu.
Během události se Mkrát stane následující událost:

- V čase T_i sletí dolů množství W_i nudlí. Osoba v přední části řady dostane vše (pokud nikdo není v řadě, nedostane to nikdo). Tato osoba pak vystoupí z řady a vrátí se do své původní pozice v řadě v čase T_i+S_i.

Osoba, která se vrátí do řady v čase X, je považována za osobu v řadě v čase X.
Po všech M výskytech nahlaste celkové množství nudlí, které má každý člověk.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N M
T_1 W_1 S_1
\vtečky
T_M W_M S_M

Výstup

Vytiskněte N řádků.
I-tý řádek by měl obsahovat množství nudlí, které mám.

Omezení

- 1 \leq N \leq 2\krát 10^5
- 1 \leq M \leq 2\krát 10^5
- 0 <T_1 <\ldots < T_M \leq 10^9
- 1 \leq S_i \leq 10^9
- 1 \leq W_i \leq 10^9
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 5
1 1 3
2 10 100
4 100 10 000
10 1000 1000000000
100 1000000000 1

Ukázkový výstup 1

101
10
1000

Akce probíhá následovně:

- V čase 1 se slije množství 1 nudlí. Lidé 1, 2 a 3 jsou v řadě a osoba vpředu, osoba 1, dostane nudle a vystoupí z řady.
- V čase 2 sletí dolů množství 10 nudlí. Lidé 2 a 3 jsou v řadě a osoba vpředu, osoba 2, dostane nudle a vystoupí z řady.
- V čase 4 se osoba 1 vrátí do řady.
- V čase 4 sletí dolů 100 nudlí. Lidé 1 a 3 jsou v řadě a osoba vpředu, osoba 1, dostane nudle a vystoupí z řady.
- V čase 10 sletí dolů množství 1000 nudlí. V řadě je pouze osoba 3 a osoba vpředu, osoba 3, dostane nudle a vystoupí z řady.
- V čase 100 letí dolů množství 1000000000 nudlí. Nikdo není v řadě, takže tyto nudle nikdo nedostane.
- V čase 102 se osoba 2 vrátí do řady.
- V čase 10004 se osoba 1 vrátí do řady.
- V čase 1000000010 se osoba 3 vrátí do řady.

Celkové množství nudlí, které lidé 1, 2 a 3 dostali, je 101, 10 a 1000.

Ukázkový vstup 2

3 1
1 1 1

Ukázkový výstup 2

1
0
0

Ukázkový vstup 3

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

Ukázkový výstup 3

15

Na události s názvem Flowing Noodles je shromážděno N lidí. Lidé stojí v řadě, očíslováni od 1 do N od přední k zadní části.
Během akce se Mkrát stane následující událost:

- V čase T_i se na zem snese množství W_i nudlí. Osoba v přední části řady dostane všechny (pokud v řadě nikdo není, nedostane je nikdo). Tato osoba pak z řady vystoupí a v čase T_i+S_i se vrátí na své původní místo v řadě.

Osoba, která se vrátí do řady v čase X, se považuje za osobu, která je v řadě v čase X.
Po všech M výskytech uveďte celkové množství nudlí, které každá osoba získala.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N M
T_1 W_1 S_1
\vdots
T_M W_M S_M

Výstup

Vytiskněte N řádků.
Na i-tém řádku by mělo být uvedeno množství nudlí, které získala osoba i.

Omezení

- 1 \leq N \leq 2\krát 10^5
- 1 \leq M \leq 2\krát 10^5
- 0 <T_1 <\ldots < T_M \leq 10^9
- 1 \leq S_i \leq 10^9
- 1 \leq W_i \leq 10^9
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 5
1 1 3
2 10 100
4 100 10000
10 1000 1000000000
100 1000000000 1

Ukázka výstupu 1

101
10
1000

Událost probíhá následujícím způsobem:

- V čase 1 je množství 1 nudlí letět dolů. Lidé 1, 2 a 3 jsou v řadě a osoba vpředu, osoba 1, dostane nudle a vystoupí z řady.
- V čase 2 je množství 10 nudlí letět dolů. Lidé 2 a 3 jsou v řadě a osoba vpředu, osoba 2, dostane nudle a vystoupí z řady.
- V čase 4 se osoba 1 vrátí do řádku.
- V čase 4 je dolů přiletěno množství 100 nudlí. Lidé 1 a 3 jsou v řadě a osoba vpředu, osoba 1, dostane nudle a vystoupí z řady.
- V čase 10 je dolů přiletělo množství 1000 nudlí. Pouze osoba 3 je v řadě a osoba vpředu, osoba 3, dostane nudle a vystoupí z řady.
- V čase 100 je dolů přiletělo množství 1000000000 nudlí. Nikdo není v řadě, takže tyto nudle nikdo nedostane.
- V čase 102 se osoba 2 vrátí do řádku.
- V čase 10004 se osoba 1 vrátí do řady.
- V čase 1000000010 se osoba 3 vrátí do řady.

Celkové množství nudlí, které mají lidé 1, 2 a 3, je 101, 10 a 1000.

Vzorkovací vstup 2

3 1
1 1 1

Ukázkový výstup 2

1
0
0

Vzorkovací vstup 3

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

Ukázkový výstup 3

15


Kladné celé číslo x se nazývá číslo podobné 321, pokud splňuje následující podmínku.

- Číslice x se shora dolů přísně zmenšují.
- Jinými slovy, pokud má x d číslic, splňuje následující pro každé celé číslo i takové, že 1 \le i < d:
- (i-tá číslice od vrcholu x) > ((i+1)-tá číslice od vrcholu x).

Všimněte si, že všechna jednociferná kladná celá čísla jsou čísla podobná 321.
Například 321, 96410 a 1 jsou čísla podobná 321, ale 123, 2109 a 86411 nikoli.
Jako vstup dostanete N. Vytiskněte Ano, pokud N je číslo podobné 321, a jinak Ne.

Vstup

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

Výstup

Vytiskněte Ano, pokud N je číslo podobné 321, a jinak Ne.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 99999

Ukázkový vstup 1

321

Ukázkový výstup 1

Yes

Pro N=321 platí:

- První číslice shora, 3, je větší než druhá číslice shora, 2.
- Druhá číslice shora, 2, je větší než třetí číslice shora, 1.

321 je tedy číslo podobné 321.

Ukázkový vstup 2

123

Ukázkový výstup 2

No

Pro N=123 platí:

- První číslice shora, 1, není větší než druhá číslice shora, 2.

123 tedy není číslo podobné 321.

Ukázkový vstup 3

1

Ukázkový výstup 3

Yes

Ukázkový vstup 4

86411

Ukázkový výstup 4

No

Kladné celé číslo x se nazývá číslo podobné 321, pokud splňuje následující podmínku.

- Číslice x se shora dolů přísně zmenšují.
- Jinými slovy, pokud má x d číslic, splňuje následující pro každé celé číslo i, pro které platí 1 \le i < d:
- (i-tá číslice od vrcholu x) > ((i+1)-tá číslice od vrcholu x).

Všimněte si, že všechna jednociferná kladná čísla jsou čísla podobná 321.
Například 321, 96410 a 1 jsou čísla podobná 321, ale 123, 2109 a 86411 nikoli.
Jako vstup dostanete N. Vytiskněte Ano, pokud N je číslo podobné 321, a jinak Ne.

Vstup

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

Výstup

Vytiskněte Ano, pokud N je číslo podobné 321, a jinak Ne.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 99999

Ukázkový vstup 1

321

Ukázkový výstup 1

Yes

Pro N=321 platí:

- První číslice shora, 3, je větší než druhá číslice shora, 2.
- Druhá číslice shora, 2, je větší než třetí číslice shora, 1.

321 je tedy číslo podobné 321.

Ukázkový vstup 2

123

Ukázkový výstup 2

No

Pro N=123 platí:

- První číslice shora, 1, není větší než druhá číslice shora, 2.

123 tedy není číslo podobné 321.

Ukázkový vstup 3

1

Ukázkový výstup 3

Yes

Ukázkový vstup 4

86411

Ukázkový výstup 4

No

Pozitivní celé číslo x se nazývá 321-like Number, pokud splňuje následující podmínku.

- Cifry x jsou přísně klesající od shora dolů.
- Jinými slovy, jestliže x má d číslic, pak platí pro každé celé číslo i takové, že 1 \le i < d:
- (i-tá číslice odshora x) > ((i+1)-tá číslice odshora x).

Všimněte si, že všechna jednociﬀerná kladná čísla jsou 321-like Numbers.
Například 321, 96410 a 1 jsou 321-like Numbers, ale 123, 2109 a 86411 nejsou.
Je dáno N jako vstup. Vytiskněte Yes, pokud je N 321-like Number, a No v opačném případě.

Vstup

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

Výstup

Vytiskněte Yes, pokud je N 321-like Number, a No v opačném případě.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 99999

Ukázkový Vstup 1

321

Ukázkový Výstup 1

Yes

Pro N=321 platí následující:

- První číslice odshora, 3, je větší než druhá číslice odshora, 2.
- Druhá číslice odshora, 2, je větší než třetí číslice odshora, 1.

Proto 321 je 321-like Number.

Ukázkový Vstup 2

123

Ukázkový Výstup 2

No

Pro N=123 platí následující:

- První číslice odshora, 1, není větší než druhá číslice odshora, 2.

Proto 123 není 321-like Number.

Ukázkový Vstup 3

1

Ukázkový Výstup 3

Yes

Ukázkový Vstup 4

86411

Ukázkový Výstup 4

No


Zkouška má následující strukturu.

- Zkouška se skládá z N kol, která se nazývají kola 1 až N.
- V každém kole je vám přiděleno celé skóre v rozmezí 0 až 100 včetně.
- Vaše výsledná známka je součtem N-2 bodů získaných v kolech s výjimkou nejvyššího a nejnižšího.
- Formálně nechť S=(S_1,S_2,\dots,S_N) je posloupnost bodů získaných v kolech seřazených vzestupně, pak výsledná známka je S_2+S_3+\dots+S_{N-1}.

Nyní skončilo N-1 kol zkoušky a váš výsledek v i. kole byl A_i.
Vypište minimální skóre, které musíte získat v kole N, abyste získali konečnou známku X nebo vyšší.
Pokud vaše konečná známka nikdy nebude X nebo vyšší bez ohledu na to, jaké skóre získáte v kole N, vypište místo toho -1.
Všimněte si, že vaše skóre v kole N může být pouze celé číslo v rozmezí 0 až 100.

Vstup

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

Výstup

Vypište odpověď.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 3 \le N \le 100
- 0 \le X \le 100 \krát (N-2)
- 0 \le A_i \le 100

Vzorový vstup 1

5 180
40 60 80 50

Výstupní vzorek 1

70

Vaše výsledky v prvních čtyřech kolech byly 40, 60, 80 a 50.
Pokud v 5. kole získáte skóre 70, bude pořadí skóre seřazené vzestupně následující: S=(40,50,60,70,80), tedy výsledné skóre 50+60+70=180.
Lze ukázat, že 70 je minimální skóre, které musíte získat, aby výsledná známka byla 180 nebo vyšší.

Vzorový vstup 2

3 100
100 100

Vzorový výstup 2

0

Vaše výsledky v prvních dvou kolech byly 100 a 100.
Pokud ve 3. kole získáte skóre 0, bude pořadí skóre seřazené vzestupně následující: S=(0,100,100), tedy výsledná známka 100.
Všimněte si, že nejvyšší skóre, 100, je získáno vícekrát a pouze jedno z nich je vyloučeno. (Totéž platí pro nejnižší skóre.)
Lze ukázat, že 0 je minimální skóre, které je třeba získat pro konečnou známku 100 nebo vyšší.

Vzorový vstup 3

5 200
0 0 99 99

Vzorový výstup 3

-1

Vaše skóre v prvních čtyřech kolech bylo 0, 0, 99 a 99.
Lze ukázat, že vaše výsledná známka nikdy nebude 200 nebo vyšší bez ohledu na to, jaké skóre získáte v 5. kole.

Vzorový vstup 4

10 480
59 98 88 54 70 24 8 94 46

Ukázka výstupu 4

45

Zkouška je strukturována následovně.

- Zkouška se skládá z N kol nazývaných kolo 1 až N.
- V každém kole dostanete celočíselné skóre mezi 0 a 100 včetně.
- Vaše konečná známka je součtem N-2 skóre získaných v kolech s výjimkou nejvyššího a nejnižšího.
- Formálně nechť S=(S_1,S_2,\tečky,S_N) je posloupnost skóre získaných v kolech seřazených vzestupně, pak je konečná známka S_2+S_3+\tečky+S_{N-1}.

Nyní N-1 kol zkoušky skončilo a vaše skóre v prvním kole bylo A_i.
Vytiskněte si minimální skóre, které musíte získat v kole N pro závěrečnou známku X nebo vyšší.
Pokud vaše konečná známka nikdy nebude X nebo vyšší, bez ohledu na to, jaké skóre získáte v kole N, vytiskněte místo toho -1.
Všimněte si, že vaše skóre v kole N může být pouze celé číslo mezi 0 a 100.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 3 \le N \le 100
- 0 \le X \le 100 \krát (N-2)
- 0 \le A_i \le 100

Ukázkový vstup 1

5 180
40 60 80 50

Ukázkový výstup 1

70

Vaše skóre v prvních čtyřech kolech bylo 40, 60, 80 a 50.
Pokud v 5. kole získáte skóre 70, bude pořadí skóre seřazených vzestupně S=(40,50,60,70,80), pro konečnou známku 50+60+70=180.
Lze prokázat, že 70 je minimální skóre, které musíte získat pro závěrečnou známku 180 nebo vyšší.

Ukázkový vstup 2

3 100
100 100

Ukázkový výstup 2

0

Vaše skóre v prvních dvou kolech bylo 100 a 100.
Pokud ve 3. kole získáte skóre 0, pořadí skóre seřazených vzestupně bude S=(0,100,100), pro konečnou známku 100.
Všimněte si, že nejvyšší skóre, 100, je získáno vícekrát a pouze jeden z nich je vyloučen. (Totéž platí pro nejnižší skóre.)
Lze prokázat, že 0 je minimální skóre, které musíte získat pro závěrečnou známku 100 nebo vyšší.

Ukázkový vstup 3

5 200
0 0 99 99

Ukázkový výstup 3

-1

Vaše skóre v prvních čtyřech kolech bylo 0, 0, 99 a 99.
Je možné prokázat, že vaše konečná známka nikdy nebude 200 nebo vyšší bez ohledu na to, jaké skóre získáte v 5. kole.

Ukázkový vstup 4

10 480
59 98 88 54 70 24 8 94 46

Ukázkový výstup 4

45

Zkouška je strukturována takto.

- Zkouška se skládá z N kol, nazývaných kolo 1 až N.
- V každém kole dostanete bodový zisk mezi 0 a 100, včetně.
- Vaše finální známka je součet ze N-2 bodových zisků získaných v kolech, s výjimkou nejvyššího a nejnižšího.
- Formálně, nechť S=(S_1,S_2,\dots,S_N) je posloupnost bodových zisků získaných v kolech seřazená vzestupně, pak finální známka je S_2+S_3+\dots+S_{N-1}.

Nyní skončilo N-1 kol zkoušky a váš bodový zisk v kole i byl A_i.
Vytiskněte minimální bodový zisk, který musíte získat v kole N pro finální známku X nebo vyšší.
Pokud vaše finální známka nikdy nebude X nebo vyšší bez ohledu na to, jaký bodový zisk získáte v kole N, vytiskněte místo toho -1.
Všimněte si, že váš bodový zisk v kole N může být pouze celé číslo mezi 0 a 100.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 3 \le N \le 100
- 0 \le X \le 100 \times (N-2)
- 0 \le A_i \le 100

Ukázkový vstup 1

5 180
40 60 80 50

Ukázkový výstup 1

70

Vaše bodové zisky v prvních čtyřech kolech byly 40, 60, 80 a 50.
Pokud získáte bodový zisk 70 v kole 5, posloupnost bodových zisků seřazená vzestupně bude S=(40,50,60,70,80), pro finální známku 50+60+70=180.
Je možné ukázat, že 70 je minimální bodový zisk, který musíte získat pro finální známku 180 nebo vyšší.

Ukázkový vstup 2

3 100
100 100

Ukázkový výstup 2

0

Vaše bodové zisky v prvních dvou kolech byly 100 a 100.
Pokud získáte bodový zisk 0 v kole 3, posloupnost bodových zisků seřazená vzestupně bude S=(0,100,100), pro finální známku 100.
Všimněte si, že nejvyšší bodový zisk, 100, je získán vícekrát a jen jeden z nich je vyloučen. (Totéž platí pro nejnižší bodový zisk.)
Je možné ukázat, že 0 je minimální bodový zisk, který musíte získat pro finální známku 100 nebo vyšší.

Ukázkový vstup 3

5 200
0 0 99 99

Ukázkový výstup 3

-1

Vaše bodové zisky v prvních čtyřech kolech byly 0, 0, 99 a 99.
Je možné ukázat, že vaše finální známka nikdy nebude 200 nebo vyšší bez ohledu na to, jaký bodový zisk získáte v kole 5.

Ukázkový vstup 4

10 480
59 98 88 54 70 24 8 94 46

Ukázkový výstup 4

45


Nechť kladné celé číslo x je nazýváno číslem 321-like, když splňuje následující podmínku. Tato definice je stejná jako ta v Problemu A.

- Cifry čísla x jsou přísně klesající shora dolů.
- Jinými slovy, pokud má x d cifer, pak splňuje následující pro každé celé číslo i takové, že 1 \le i < d:
- (i-tá cifra shora v x) > ((i+1)-tá cifra shora v x).

Všimněte si, že všechna kladná celá čísla o jedné cifře jsou čísla 321-like.
Například, 321, 96410 a 1 jsou čísla 321-like, ale 123, 2109 a 86411 nejsou.
Najděte K-té nejmenší číslo 321-like.

Vstup

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

Výstup

Vytiskněte K-té nejmenší číslo 321-like jako celé číslo.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le K
- Existuje alespoň K čísel 321-like.

Ukázkový vstup 1

15

Ukázkový výstup 1

32

Čísla 321-like jsou (1,2,3,4,5,6,7,8,9,10,20,21,30,31,32,40,\dots) od nejmenšího po největší.
15-té nejmenší z nich je 32.

Ukázkový vstup 2

321

Ukázkový výstup 2

9610

Ukázkový vstup 3

777

Ukázkový výstup 3

983210

Kladné celé číslo x se nazývá 321-násobné číslo, pokud splňuje následující podmínku. Tato definice je stejná jako definice v úloze A.

- Číslice x jsou striktně klesající shora dolů.
- Jinými slovy, má-li x d číslic, splňuje následující podmínku pro každé celé číslo i takové, že 1 \le i < d:
- (i-tá číslice shora x) > ((i+1)-tá číslice shora x).

Všimněte si, že všechna jednociferná kladná celá čísla jsou 321 podobná čísla.
Například 321, 96410 a 1 jsou 321-podobná čísla, ale 123, 2109 a 86411 ne.
Najděte K-té nejmenší číslo podobné 321.

Vstup

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

Výstup

Vypište K-té nejmenší 321-podobné číslo jako celé číslo.

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le K
- Existuje alespoň K 321 podobných čísel.

Ukázka Vstup 1

15

Ukázkový výstup 1

32

Čísla podobná 321 jsou (1,2,3,4,5,6,7,8,9,10,20,21,30,31,32,40,\dots) od nejmenšího po největší.
Patnácté nejmenší z nich je 32.

Vzorový vstup 2

321

Vzorový výstup 2

9610

Vzorový vstup 3

777

Výstupní vzorek 3

983210


AtCoder kavárna nabízí N hlavních jídel a M příloh. Cena i-tého hlavního jídla je A_i a cena j-té přílohy je B_j. Kavárna zvažuje zavedení nového menu obědových setů. Obědový set se skládá z jednoho hlavního jídla a jedné přílohy. Nechť s je součet cen hlavního jídla a přílohy, pak cena obědového setu je \min(s,P). Zde je P konstanta daná ve vstupu. Existuje NM možností, jak vybrat hlavní jídlo a přílohu pro obědový set. Najděte celkovou cenu všech těchto obědových setů.

Vstup

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

Výstup

Vypište odpověď jako celé číslo. Podle omezení tohoto problému lze dokázat, že odpověď se vejde do 64bitového podepsaného celého čísla.

Omezení

- 1\leq N,M \leq 2\times 10^5
- 1\leq A_i,B_j \leq 10^8
- 1\leq P \leq 2\times 10^8
- Všechny hodnoty ve vstupu jsou celá čísla.

Ukázkový vstup 1

2 2 7
3 5
6 1

Ukázkový výstup 1

24

- Pokud vyberete první hlavní jídlo a první přílohu, cena obědového setu je \min(3+6,7)=7.
- Pokud vyberete první hlavní jídlo a druhou přílohu, cena obědového setu je \min(3+1,7)=4.
- Pokud vyberete druhé hlavní jídlo a první přílohu, cena obědového setu je \min(5+6,7)=7.
- Pokud vyberete druhé hlavní jídlo a druhou přílohu, cena obědového setu je \min(5+1,7)=6.

Tudíž odpověď je 7+4+7+6=24.

Ukázkový vstup 2

1 3 2
1
1 1 1

Ukázkový výstup 2

6

Ukázkový vstup 3

7 12 25514963
2436426 24979445 61648772 23690081 33933447 76190629 62703497
11047202 71407775 28894325 31963982 22804784 50968417 30302156 82631932 61735902 80895728 23078537 7723857

Ukázkový výstup 3

2115597124

Jídelna AtCoder nabízí N hlavních jídel a M příloh. Cena i-tého hlavního jídla je A_i a cena j-té přílohy je B_j.
Kavárna zvažuje zavedení nového jídelního lístku.
Jídelní set se skládá z jednoho hlavního jídla a jedné přílohy. Nechť s je součet cen hlavního jídla a přílohy, pak cena souborného jídla je \min(s,P).
Zde je P konstanta zadaná na vstupu.
Existuje NM způsobů, jak vybrat hlavní jídlo a přílohu pro soubor jídel. Zjistěte celkovou cenu všech těchto setů jídel.

Vstup

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

Výstup

Vypište odpověď jako celé číslo.
Při omezeních tohoto problému lze dokázat, že odpověď se vejde do 64bitového celého čísla se znaménkem.

Omezení

- 1\leq N,M \leq 2\times 10^5
- 1\leq A_i,B_j \leq 10^8
- 1\leq P \leq 2\krát 10^8
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

2 2 7
3 5
6 1

Ukázka výstupu 1

24

- Pokud si vyberete první hlavní jídlo a první přílohu, cena jídelního setu je \min(3+6,7)=7.
- Pokud si vyberete první hlavní jídlo a druhou přílohu, cena jídelní soupravy je \min(3+1,7)=4.
- Pokud si vyberete druhé hlavní jídlo a první přílohu, cena jídelního setu je \min(5+6,7)=7.
- Pokud si vyberete druhé hlavní jídlo a druhou přílohu, cena jídelního setu je \min(5+1,7)=6.

Odpověď je tedy 7+4+7+6=24.

Vzorový vstup 2

1 3 2
1
1 1 1

Ukázkový výstup 2

6

Vzorový vstup 3

7 12 25514963
2436426 24979445 61648772 23690081 33933447 76190629 62703497
11047202 71407775 28894325 31963982 22804784 50968417 30302156 82631932 61735902 80895728 23078537 7723857

Vzorový výstup 3

2115597124

Kavárna AtCoder nabízí N hlavních jídel a M příloh. Cena i-tého hlavního jídla je A_i a cena j-tého přílohy je B_j.
Kavárna zvažuje zavedení nového jídelního lístku.
Sada jídel se skládá z jednoho hlavního jídla a jedné přílohy. Nechť s je součet cen hlavního jídla a přílohy, pak cena stanoveného jídla je \min(s,P).
Zde je P konstanta zadaná na vstupu.
Existují způsoby NM, jak vybrat hlavní jídlo a přílohu ke stanovenému jídlu. Najděte celkovou cenu všech těchto setů jídel.

Vstup

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

Výstup

Vytiskněte odpověď jako celé číslo.
V rámci omezení tohoto problému lze dokázat, že odpověď zapadá do 64bitového celého čísla se znaménkem.

Omezení

- 1\leq N,M \leq 2\times  10^5
- 1\leq A_i,B_j \leq 10^8
- 1\leq P \leq 2\times  10^8
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

2 2 7
3 5
6 1

Ukázkový výstup 1

24

- Pokud zvolíte první hlavní jídlo a první přílohu, cena nastaveného jídla je \min(3+6,7)=7.
- Pokud zvolíte první hlavní jídlo a druhou přílohu, cena nastaveného jídla je \min(3+1,7)=4.
- Pokud zvolíte druhé hlavní jídlo a první přílohu, cena nastaveného jídla je \min(5+6,7)=7.
- Pokud zvolíte druhé hlavní jídlo a druhou přílohu, cena nastaveného jídla je \min(5+1,7)=6.

Odpověď je tedy 7+4+7+6=24.

Ukázkový vstup 2

1 3 2
1
1 1 1

Ukázkový výstup 2

6

Ukázkový vstup 3

7 12 25514963
2436426 24979445 61648772 23690081 33933447 76190629 62703497
11047202 71407775 28894325 31963982 22804784 50968417 30302156 82631932 61735902 80895728 273077855

Ukázkový výstup 3

2115597124


Existuje strom s N vrcholy očíslovanými od 1 do N.
Pro každé i\ (2 \leq i \leq N) existuje hrana spojující vrchol i a vrchol \lfloor \frac{i}{2} \rfloor.
Neexistují žádné další hrany.
V tomto stromě najděte počet vrcholů, jejichž vzdálenost od vrcholu X je K.
Zde je vzdálenost mezi dvěma vrcholy u a v definována jako počet hran na jednoduché cestě spojující vrcholy u a v.
Máte T testovacích případů k vyřešení.

Vstup

Vstup je zadán ze Standard Input v následujícím formátu, kde \mathrm{test}_i reprezentuje i-tý testovací případ:
T
\mathrm{test}_1
\mathrm{test}_2
\vdots
\mathrm{test}_T

Každý testovací případ je dán v následujícím formátu:
N X K

Výstup

Vytiskněte T řádků.
i-tý řádek (1 \leq i \leq T) by měl obsahovat odpověď na i-tý testovací případ jako celé číslo.

Omezení

- 1\leq T \leq 10^5
- 1\leq N \leq 10^{18}
- 1\leq X \leq N
- 0\leq K \leq N-1
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

1
3
4
2
0

Strom pro N=10 je zobrazen na následujícím obrázku.

Zde,

- Existuje 1 vrchol, 2, jehož vzdálenost od vrcholu 2 je 0.
- Existují 3 vrcholy, 1,4,5, jejichž vzdálenost od vrcholu 2 je 1.
- Existují 4 vrcholy, 3,8,9,10, jejichž vzdálenost od vrcholu 2 je 2.
- Existují 2 vrcholy, 6,7, jejichž vzdálenost od vrcholu 2 je 3.
- Neexistují žádné vrcholy, jejichž vzdálenost od vrcholu 2 je 4.

Ukázkový vstup 2

10
822981260158260522 52 20
760713016476190629 2314654 57
1312150450968417 1132551176249851 7
1000000000000000000 1083770654 79
234122432773361868 170290518806790 23
536187734191890310 61862 14
594688604155374934 53288633578 39
1000000000000000000 120160810 78
89013034180999835 14853481725739 94
463213054346948152 825589 73

Ukázkový výstup 2

1556480
140703128616960
8
17732923532771328
65536
24576
2147483640
33776997205278720
7881299347898368
27021597764222976

Existuje strom s N vrcholy očíslovanými od 1 do N.
Pro každé i\ (2 \leq i \leq N) existuje hrana spojující vrchol i a vrchol \lfloor \frac{i}{2} \rfloor.
Nejsou žádné další hrany.
V tomto stromu najděte počet vrcholů, jejichž vzdálenost od vrcholu X je K.
Zde je vzdálenost mezi dvěma vrcholy u a v definována jako počet hran v jednoduché cestě spojující vrcholy u a v.
Musíte vyřešit T testovací případy.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu, kde \mathrm{test}_i představuje i-tý testovací případ:
T
\mathrm{test}_1
\mathrm{test}_2
\vtečky
\mathrm{test}_T

Každý testovací případ je uveden v následujícím formátu:
N X K

Výstup

Vytiskněte T řádky.
I-tý řádek (1 \leq i \leq T) by měl obsahovat odpověď na i-tý testovací případ jako celé číslo.

Omezení

- 1\leq T \leq 10^5
- 1\leq N \leq 10^{18}
- 1\leq X \leq N
- 0\leq K \leq N-1
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

1
3
4
2
0

Strom pro N=10 je znázorněn na následujícím obrázku.

Zde,

- Existuje 1 vrchol, 2, jehož vzdálenost od vrcholu 2 je 0.
- Existují 3 vrcholy, 1,4,5, jejichž vzdálenost od vrcholu 2 je 1.
- Existují 4 vrcholy, 3,8,9,10, jejichž vzdálenost od vrcholu 2 je 2.
- Existují 2 vrcholy, 6,7, jejichž vzdálenost od vrcholu 2 je 3.
- Neexistují žádné vrcholy, jejichž vzdálenost od vrcholu 2 je 4.

Ukázkový vstup 2

10
822981260158260522 52 20
760713016476190629 2314654 57
1312150450968417 1132551176249851 7
1000000000000000000 1083770654 79
234122432773361868 170290518806790 23
536187734191890310 61862 14
594688604155374934 53288633578 39
1000000000000000000 120160810 78
89013034180999835 14853481725739 94
463213054346948152 825589 73

Ukázkový výstup 2

1556480
140703128616960
8
17732923532771328
65536
24576
2147483640
33776997205278720
7881299347898368
27021597764222976

Existuje strom s N vrcholy očíslovanými 1 až N.
Pro každé i\ (2 \leq i \leq N) existuje hrana spojující vrchol i a vrchol \lfloor \frac{i}{2}. \rfloor.
Žádné jiné hrany neexistují.
Najděte v tomto stromu počet vrcholů, jejichž vzdálenost od vrcholu X je K.
Vzdálenost mezi dvěma vrcholy u a v je zde definována jako počet hran v jednoduché cestě spojující vrcholy u a v.
Máte k řešení T testových případů.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu, kde \mathrm{test}_i představuje i-tý testovací případ:
T
\mathrm{test}_1
\mathrm{test}_2
\vdots
\mathrm{test}_T

Každý testovací případ je uveden v následujícím formátu:
N X K

Výstup

Vypište T řádků.
I-tý řádek (1 \leq i \leq T) by měl obsahovat odpověď na i-tý testovací případ jako celé číslo.

Omezení

- 1\leq T \leq 10^5
- 1\leq N \leq 10^{18}
- 1\leq X \leq N
- 0\leq K \leq N-1
- Všechny vstupní hodnoty jsou celá čísla.

Příklad Vstup 1

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

Ukázka výstupu 1

1
3
4
2
0

Strom pro N=10 je znázorněn na následujícím obrázku.

Zde,

- je 1 vrchol 2, jehož vzdálenost od vrcholu 2 je 0.
- Existují 3 vrcholy, 1,4,5, jejichž vzdálenost od vrcholu 2 je 1.
- Existují 4 vrcholy, 3,8,9,10, jejichž vzdálenost od vrcholu 2 je 2.
- Existují 2 vrcholy, 6,7, jejichž vzdálenost od vrcholu 2 je 3.
- Neexistují žádné vrcholy, jejichž vzdálenost od vrcholu 2 je 4.

Vzorový vstup 2

10
822981260158260522 52 20
760713016476190629 2314654 57
1312150450968417 1132551176249851 7
1000000000000000000 1083770654 79
234122432773361868 170290518806790 23
536187734191890310 61862 14
594688604155374934 53288633578 39
1000000000000000000 120160810 78
89013034180999835 14853481725739 94
463213054346948152 825589 73

Vzorový výstup 2

1556480
140703128616960
8
17732923532771328
65536
24576
2147483640
33776997205278720
7881299347898368
27021597764222976


Máte daný řetězec S délky N složený z A, B a C.
Najděte pozici, kde se ABC poprvé objevuje jako (souvislý) podřetězec v S. Jinými slovy, najděte nejmenší celé číslo n, které splňuje všechny následující podmínky.

- 1 \leq n \leq N - 2.
- Řetězec získaný extrahováním n-tého až (n+2)-tého znaku S je ABC.

Pokud se ABC v S nevyskytuje, vytiskněte -1.

Vstup

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

Výstup

Vytiskněte pozici, kde se ABC poprvé objevuje jako podřetězec v S, nebo -1, pokud se v S nevyskytuje.

Omezení

- 3 \leq N \leq 100
- S je řetězec délky N složený z A, B a C.

Ukázkový vstup 1

8
ABABCABC

Ukázkový výstup 1

3

ABC se poprvé objevuje v S na 3. až 5. místě znaků v S. Proto je odpověď 3.

Ukázkový vstup 2

3
ACB

Ukázkový výstup 2

-1

Pokud se ABC v S nevyskytuje, vytiskněte -1.

Ukázkový vstup 3

20
BBAAABBACAACABCBABAB

Ukázkový výstup 3

13

Je vám dán řetězec S délky N sestávající z A, B a C.
Najděte pozici, kde se ABC poprvé objeví jako (souvislý) podřetězec v S. Jinými slovy, najděte nejmenší celé číslo n, které splňuje všechny následující podmínky.

- 1 \leq n \leq N - 2.
- Řetězec získaný extrakcí n-tých až (n+2)-tých znaků S je ABC.

Pokud se ABC neobjeví v S, vytiskněte -1.

Vstup

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

Výstup

Vytiskněte pozici, kde se ABC poprvé objeví jako podřetězec v S, nebo -1, pokud se neobjeví v S.

Omezení

- 3 \leq N \leq 100
- S je řetězec délky N sestávající z A, B a C.

Ukázkový vstup 1

8
ABABCABC

Ukázkový výstup 1

3

ABC se poprvé objeví v S na 3. až 5. znaku S. Proto je odpověď 3.

Ukázkový vstup 2

3
ACB

Ukázkový výstup 2

-1

Pokud se ABC neobjeví v S, vytiskněte -1.

Ukázkový vstup 3

20
BBAAABBACAACABCBABAB

Ukázkový výstup 3

13

Je dán řetězec S délky N, který se skládá z písmen A, B a C.
Najděte místo, kde se ABC poprvé objevuje jako (souvislý) podřetězec v řetězci S. Jinými slovy, najděte nejmenší celé číslo n, které splňuje všechny následující podmínky.

- 1 \leq n \leq N - 2.
- Řetězec získaný vyjmutím n-tého až (n+2)-tého znaku S je ABC.

Pokud se ABC v S nevyskytuje, vypište -1.

Vstup

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

Výstup

Vypište pozici, kde se ABC poprvé objevuje jako podřetězec v S, nebo -1, pokud se v S nevyskytuje.

Omezení

- 3 \leq N \leq 100
- S je řetězec délky N, který se skládá z A, B a C.

Vzorový vstup 1

8
ABABCABC

Ukázkový výstup 1

3

ABC se poprvé objevuje v S na 3. až 5. znaku S. Proto je odpověď 3.

Vzorový vstup 2

3
ACB

Ukázkový výstup 2

-1

Pokud se ABC v S nevyskytuje, vypište -1.

Vzorový vstup 3

20
BBAAABBACAACABCBABAB

Ukázkový výstup 3

13


Máte dány dva řetězce S a T skládající se z malých písmen anglické abecedy. Délky S a T jsou N a M, respektive. (Podmínky garantují, že N \leq M.)
Řetězec S je prefixem T, pokud prvních N znaků T odpovídá řetězci S.
Řetězec S je sufixem T, pokud posledních N znaků T odpovídá řetězci S.
Pokud je S zároveň prefixem i sufixem T, vypište 0;
Pokud je S prefixem T, ale není sufixem, vypište 1;
Pokud je S sufixem T, ale není prefixem, vypište 2;
Pokud S není ani prefixem, ani sufixem T, vypište 3.

Vstup

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

Výstup

Vypište odpověď podle instrukcí v zadání úlohy.

Omezení

- 1 \leq N \leq M \leq 100
- S je řetězec délky N skládající se z malých písmen anglické abecedy.
- T je řetězec délky M skládající se z malých písmen anglické abecedy.

Ukázkový vstup 1

3 7
abc
abcdefg

Ukázkový výstup 1

1

S je prefixem T, ale není sufixem, takže byste měli vypsat 1.

Ukázkový vstup 2

3 4
abc
aabc

Ukázkový výstup 2

2

S je sufixem T, ale není prefixem.

Ukázkový vstup 3

3 3
abc
xyz

Ukázkový výstup 3

3

S není ani prefixem, ani sufixem T.

Ukázkový vstup 4

3 3
aaa
aaa

Ukázkový výstup 4

0

S a T mohou být stejné, v takovém případě je S zároveň prefixem i sufixem T.

Byly zadány dva řetězce S a T skládající se z malých písmen anglické abecedy. Délky S a T jsou N a M v tomto pořadí. (Podmínky garantují, že N \leq M.)
Řetězec S je prefixem T, pokud prvních N znaků T odpovídá řetězci S.
Řetězec S je sufixem T, pokud posledních N znaků T odpovídá řetězci S.
Pokud je S zároveň prefixem i sufixem T, vypište 0;
Pokud je S prefixem T, ale není sufixem, vypište 1;
Pokud je S sufixem T, ale není prefixem, vypište 2;
Pokud S není ani prefixem, ani sufixem T, vypište 3.

Vstup

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

Výstup

Vypište odpověď podle instrukcí v zadání úlohy.

Omezení

- 1 \leq N \leq M \leq 100
- S je řetězec délky N skládající se z malých písmen anglické abecedy.
- T je řetězec délky M skládající se z malých písmen anglické abecedy.

Ukázkový vstup 1

3 7
abc
abcdefg

Vzorový výstup 1

1

S je prefixem T, ale není sufixem, takže byste měli vypsat 1.

Vzorový vstup 2

3 4
abc
aabc

Vzorový výstup 2

2

S je sufixem T, ale není prefixem.

Vzorový vstup 3

3 3
abc
xyz

Vzorový výstup 3

3

S není ani prefixem, ani sufixem T.

Vzorový vstup 4

3 3
aaa
aaa

Vzorový výstup 4

0

S a T se mohou shodovat. V takovém případě je S zároveň prefixem i sufixem T.

Máte k dispozici dva řetězce S a T složené z malých anglických písmen. Délky řetězců S a T jsou N a M. (Omezení zaručují, že N \leq M.)
O řetězci S se říká, že je prefixem řetězce T, když se prvních N znaků řetězce T shoduje s řetězcem S.
O S se říká, že je sufixem T, když se posledních N znaků T shoduje s S.
Je-li S prefixem i sufixem T, vypište 0;
Pokud je S prefixem T, ale není jeho sufixem, vypište 1;
Pokud je S koncovkou T, ale není předponou, vypište 2;
Pokud S není ani prefixem, ani sufixem T, vypište 3.

Vstup

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

Výstup

Vypište odpověď podle pokynů v zadání úlohy.

Omezení

- 1 \leq N \leq M \leq 100
- S je řetězec délky N složený z malých anglických písmen.
- T je řetězec délky M složený z malých anglických písmen.

Vzorový vstup 1

3 7
abc
abcdefg

Ukázkový výstup 1

1

S je předponou T, ale ne příponou, takže byste měli vypsat 1.

Vzorový vstup 2

3 4
abc
aabc

Ukázkový výstup 2

2

S je přípona T, ale není předpona.

Vzorový vstup 3

3 3
abc
xyz

Ukázkový výstup 3

3

S není prefixem ani sufixem T.

Vzorový vstup 4

3 3
aaa
aaa

Vzorový výstup 4

0

S a T se mohou shodovat, v takovém případě je S prefixem i sufixem T.


V AtCoder Království se koná festival po dobu N dní. Během M z těchto dnů, konkrétně A_1-tého, A_2-tého, \dots, A_M-tého dne, budou odpáleny ohňostroje. Je zaručeno, že ohňostroje budou odpáleny v poslední den festivalu. (Jinými slovy, A_M=N je zaručeno.) Pro každé i=1,2,\dots,N vyřešte následující problém.

- Za kolik dní později od i-tého dne budou poprvé odpáleny ohňostroje v den i-tý nebo později? Pokud jsou ohňostroje odpáleny v i-tý den, považuje se to za 0 dnů později.

Vstup

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

Výstup

Vytiskněte N řádků.
i-tý řádek (1 \le i \le N) by měl obsahovat celé číslo představující počet dní od i-tého dne do prvního odpálení ohňostrojů v den i-tý nebo později.

Omezení

- 1 \le M \le N \le 2 \times 10^5
- 1 \le A_1 < A_2 < \dots < A_M = N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 2
2 3

Ukázkový výstup 1

1
0
0

Království pořádá festival po dobu 3 dnů a ohňostroje jsou odpáleny 2. a 3. den.

- Od 1. dne jsou poprvé odpáleny ohňostroje 2. den festivalu, což je za 1 den.
- Od 2. dne jsou poprvé odpáleny ohňostroje 2. den festivalu, což je za 0 dní.
- Od 3. dne jsou poprvé odpáleny ohňostroje 3. den festivalu, což je za 0 dní.

Ukázkový vstup 2

8 5
1 3 4 7 8

Ukázkový výstup 2

0
1
0
0
2
1
0
0

Království AtCoder pořádá festival po dobu N dní. V M těchto dnů, konkrétně v A_1-tý, A_2-tý, \tečky, A_M-tý den, bude odpálen ohňostroj. Je zaručeno, že ohňostroj bude odpálen poslední den festivalu. (Jinými slovy, A_M=N je zaručeno.)
Pro každé i=1,2,\tečky,N vyřešte následující problém.

- O kolik dní později od i-tého dne bude ohňostroj poprvé spuštěn v i-tý den nebo po něm? Pokud je ohňostroj odpálen i-tý den, považuje se to za 0 dní později.

Vstup

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

Výstup

Vytiskněte N řádků.
I-tý řádek (1 \le i \le N) by měl obsahovat celé číslo představující počet dní od i-tého dne do prvního spuštění ohňostroje v i-tý den nebo po něm.

Omezení

- 1 \le M \le N \le 2 \krát 10^5
- 1 \le A_1 < A_2 < \tečky < A_M = N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 2
2 3

Ukázkový výstup 1

1
0
0

Království pořádá festival po dobu 3 dnů a 2. a 3. den je zahájen ohňostroj.

- Od 1. dne je prvním spuštěním ohňostroje 2. den festivalu, což je o 1 den později.
- Od 2. dne je prvním spuštěním ohňostroje 2. den festivalu, což je o 0 dní později.
- Od 3. dne je prvním spuštěním ohňostroje 3. den festivalu, což je o 0 dní později.

Ukázkový vstup 2

8 5
1 3 4 7 8

Ukázkový výstup 2

0
1
0
0
2
1
0
0

Království AtCoder pořádá festival po dobu N dní. V M těchto dnů, konkrétně v A_1-tý, A_2-tý, \tečky, A_M-tý den, bude odpálen ohňostroj. Je zaručeno, že ohňostroj bude odpálen poslední den festivalu. (Jinými slovy, A_M=N je zaručeno.)
Pro každé i=1,2,\tečky,N vyřešte následující problém.

- O kolik dní později od i-tého dne bude ohňostroj poprvé spuštěn v i-tý den nebo po něm? Pokud je ohňostroj odpálen i-tý den, považuje se to za 0 dní později.

Vstup

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

Výstup

Vytiskněte N řádků.
I-tý řádek (1 \le i \le N) by měl obsahovat celé číslo představující počet dní od i-tého dne do prvního spuštění ohňostroje v i-tý den nebo po něm.

Omezení

- 1 \le M \le N \le 2 \times  10^5
- 1 \le A_1 < A_2 < \tečky < A_M = N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 2
2 3

Ukázkový výstup 1

1
0
0

Království pořádá festival po dobu 3 dnů a 2. a 3. den je zahájen ohňostroj.

- Od 1. dne je prvním spuštěním ohňostroje 2. den festivalu, což je o 1 den později.
- Od 2. dne je prvním spuštěním ohňostroje 2. den festivalu, což je o 0 dní později.
- Od 3. dne je prvním spuštěním ohňostroje 3. den festivalu, což je o 0 dní později.

Ukázkový vstup 2

8 5
1 3 4 7 8

Ukázkový výstup 2

0
1
0
0
2
1
0
0


Polyomino je dílek skládačky ve tvaru spojeného mnohoúhelníku vytvořeného spojením několika čtverců jejich hranami.
Existuje mřížka se čtyřmi řadami a čtyřmi sloupci a tři polyomino, které se vejdou do mřížky.
Tvar i-tého polyomina je reprezentován 16 znaky P_{i,j,k} (1 \leq j, k \leq 4). Popisují stav mřížky, když je na ni umístěn i-tý polyomino. Jestliže P_{i, j, k} je #, políčko v j-té řadě od horního a k-tém sloupci zleva je obsazen polyomino; pokud je ., políčko není obsazen. (Viz obrázky v části Vzorový vstup/výstup 1.)
Chcete vyplnit mřížku všemi třemi polyominy tak, aby byly splněny všechny následující podmínky.

- Všechny čtverce mřížky jsou pokryty polyominy.
- Polyomino se nesmí vzájemně překrývat.
- Polyomino nesmí vyčnívat z mřížky.
- Polyomino lze volně posouvat a otáčet, ale nelze je převrátit.

Může být mřížka vyplněna polyominy, aby byly splněny tyto podmínky?

Vstup

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

Výstup

Pokud je možné vyplnit mřížku polyominy tak, aby byly splněny podmínky v prohlášení o problému, vytiskněte Ano; jinak tiskněte Ne.

Omezení

- P_{i, j, k} je # nebo ..
- Daná polyomino jsou spojena. Jinými slovy, čtverce, které tvoří polyomino, lze dosáhnout od sebe tak, že budete sledovat pouze čtverce nahoru, dolů, doleva a doprava.
- Daná polyominos nejsou prázdná.

Ukázkový vstup 1

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

Ukázkový výstup 1

Yes

Obrázek níže ukazuje tvary polyominoů odpovídajících ukázkovému vstupu 1.

V tomto případě jimi můžete vyplnit mřížku, abyste splnili podmínky v prohlášení o problému, a to tak, že je umístíte tak, jak je znázorněno na obrázku níže.

Odpověď je tedy Ano.

Ukázkový vstup 2

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

Ukázkový výstup 2

Yes

Stejně jako v prvním polyominu v Sample Input 2 může mít polyomino tvar mnohoúhelníku s dírou.

Ukázkový vstup 3

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

Ukázkový výstup 3

No

Pamatujte, že polyomino se při plnění mřížky nesmí převrátit.

Ukázkový vstup 4

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

Ukázkový výstup 4

No

Ukázkový vstup 5

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

Ukázkový výstup 5

No

Ukázkový vstup 6

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

Ukázkový výstup 6

Yes

Polyomino je dílek skládačky ve tvaru spojeného mnohoúhelníku vytvořeného spojením několika čtverců jejich hranami.
Existuje mřížka se čtyřmi řadami a čtyřmi sloupci a tři polyomino, které se vejdou do mřížky.
Tvar i-tého polyomina je reprezentován 16 znaky P_{i,j,k} (1 \leq j, k \leq 4). Popisují stav mřížky, když je na ni umístěn i-tý polyomino. Jestliže P_{i, j, k} je #, čtverec v j-té řadě od horního a k-tém sloupci zleva je obsazen polyomino; pokud je ., náměstí není obsazeno. (Viz obrázky v části Vzorový vstup/výstup 1.)
Chcete vyplnit mřížku všemi třemi polyominy tak, aby byly splněny všechny následující podmínky.

- Všechny čtverce mřížky jsou pokryty polyominy.
- Polyominoes se nesmí vzájemně překrývat.
- Polyominoes nesmí vyčnívat z mřížky.
- Polyominoes lze volně posouvat a otáčet, ale nelze je převrátit.

Může být mřížka vyplněna polyominy, aby byly splněny tyto podmínky?

Vstup

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

Výstup

Pokud je možné vyplnit mřížku polyominy tak, aby byly splněny podmínky v prohlášení o problému, vytiskněte Ano; jinak tisk č.

Omezení

- P_{i, j, k} je # nebo ..
- Daná polyomino jsou spojena. Jinými slovy, čtverce, které tvoří polyomino, lze dosáhnout od sebe tak, že budete sledovat pouze čtverce nahoru, dolů, doleva a doprava.
- Daná polyominos nejsou prázdná.

Ukázkový vstup 1

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

Ukázkový výstup 1

Yes

Obrázek níže ukazuje tvary polyominoů odpovídajících ukázkovému vstupu 1.

V tomto případě jimi můžete vyplnit mřížku, abyste splnili podmínky v prohlášení o problému, a to tak, že je umístíte tak, jak je znázorněno na obrázku níže.

Odpověď je tedy Ano.

Ukázkový vstup 2

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

Ukázkový výstup 2

Yes

Stejně jako v prvním polyominu v Sample Input 2 může mít polyomino tvar mnohoúhelníku s dírou.

Ukázkový vstup 3

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

Ukázkový výstup 3

No

Všimněte si, že polyominoes nelze při plnění mřížky převrátit.

Ukázkový vstup 4

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

Ukázkový výstup 4

No

Ukázkový vstup 5

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

Ukázkový výstup 5

No

Ukázkový vstup 6

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

Ukázkový výstup 6

Yes

Polyomino je dílek skládačky ve tvaru spojeného mnohoúhelníku, který vznikl spojením několika čtverců jejich okraji.
K dispozici je mřížka se čtyřmi řádky a čtyřmi sloupci a třemi polyominy, které se vejdou do mřížky.
Tvar i-tého polyomina je reprezentován 16 znaky P_{i,j,k} (1 \leq j, k \leq 4). Popisují stav mřížky, když je na ni umístěno i-té polyomino. Pokud je P_{i, j, k} #, čtverec v j-tém řádku shora a k-tém sloupci zleva je obsazen polyominem; Pokud je ., čtverec není obsazen. (Viz obrázky v části Sample Input/Output 1.)
Chcete vyplnit mřížku všemi třemi polyominy tak, aby byly splněny všechny následující podmínky.

- Všechny čtverce mřížky jsou pokryty polyominy.
- Polyomina se nesmí vzájemně překrývat.
- Polyomina nesmí vyčnívat z mřížky.
- Polyomina mohou být libovolně překládána a otáčena, ale nesmí být převrácena.

Může být mřížka naplněna polyominoes, aby byly splněny tyto podmínky?

Vstup

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

Výstup

Pokud je možné vyplnit mřížku polyominy, aby byly splněny podmínky uvedené v popisu problému, vytiskněte Ano; v opačném případě print Ne.

Omezení

- P_{i, j, k} je # nebo ..
- Daná polyomina jsou spojená. Jinými slovy, čtverce, které tvoří polyomino, lze od sebe získat pouze sledováním čtverců nahoru, dolů, doleva a doprava.
- Daná polyomina nejsou prázdná.

Vzorový vstup 1

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

Ukázkový vstup 1

Yes

Na obrázku níže jsou znázorněny tvary polyomin odpovídající vzorkovému vstupu 1.

V takovém případě jimi můžete mřížku vyplnit, abyste splnili podmínky uvedené v popisu problému tak, že je umístíte tak, jak je znázorněno na obrázku níže.

Odpověď je tedy Yes.

Vzorkovací vstup 2

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

Ukázkový vstup 2

Yes

Stejně jako v prvním polyomino ve vzorkovém vstupu 2 může mít polyomino tvar mnohoúhelníku s otvorem.

Vzorkovací vstup 3

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

Ukázkový výstup 3

No

Všimněte si, že polyomina nesmí být při vyplňování mřížky převrácena.

Vzorkovací vstup 4

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

Ukázkový výstup 4

No

Vstup vzorku 5

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

Ukázkový výstup 5

No

Vzorkovací vstup 6

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

Ukázkový výstup 6

Yes


Společnost AtCoder Inc. plánuje vyvinout produkt. Výrobek má K parametrů, jejichž hodnoty jsou v současné době všechny nulové. Cílem společnosti je zvýšit hodnoty všech parametrů alespoň na P.
Existuje N vývojových plánů. Provedení i-tého plánu vývoje (1 \le i \le N) zvýší hodnotu j-tého parametru o A_{i,j} pro každé celé číslo j takové, že 1 \le j \le K, za cenu C_i.
Vývojový plán nelze provést více než jednou. Určete, zda společnost může dosáhnout svého cíle, a pokud ano, najděte minimální celkové náklady potřebné k dosažení cíle.

Vstup

Zadání je dáno ze standardního zadání v následujícím formátu:
N K P
C_1 A_{1,1} A_{1,2} \dots A_{1,K}
C_2 A_{2,1} A_{2,2} \dots A_{2,K}
\dots
C_N A_{N,1} A_{N,2} \dots A_{N,K}

Výstup

Pokud AtCoder Inc. může dosáhnout svého cíle, vypište minimální celkové náklady potřebné k dosažení cíle; v opačném případě vypište -1.

Omezení

- 1 \le N \le 100
- 1 \le K,P \le 5
- 0 \le A_{i,j} \le P(1 \le i \le N,1 \le j \le K)
- 1 \le C_i \le 10^9(1 \le i \le N)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

9

Pokud provedete první, třetí a čtvrtý vývojový plán, budou jednotlivé parametry 3+2+0=5,0+4+1=5,2+0+4=6, všechny budou mít hodnotu alespoň 5, takže cíle je dosaženo. Celkové náklady jsou v tomto případě 5 + 3 + 1 = 9.
Není možné dosáhnout cíle s celkovými náklady 8 nebo méně. Odpověď je tedy 9.

Vzorový vstup 2

7 3 5
85 1 0 1
37 1 1 0
38 2 0 0
45 0 2 2
67 1 1 0
12 2 2 0
94 2 2 1

Vzorový výstup 2

-1

Cíle nelze dosáhnout bez ohledu na to, co uděláte. Vypište tedy -1.

AtCoder Inc. plánuje vyvinout produkt. Produkt má K parametrů, jejichž hodnoty jsou momentálně všechny nulové. Společnost usiluje o to, aby všechny hodnoty parametrů byly alespoň P.
Existuje N vývojových plánů. Výkonem i-tého vývojového plánu (1 \le i \le N) se zvýší hodnota j-tého parametru o A_{i,j} pro každé j-té celé číslo tak, že 1 \le j \le K, za cenu C_i.
Vývojový plán nelze vykonat více než jednou. Určete, zda společnost může dosáhnout svého cíle, a pokud ano, najděte minimální celkové náklady potřebné k dosažení cíle.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N K P
C_1 A_{1,1} A_{1,2} \dots A_{1,K}
C_2 A_{2,1} A_{2,2} \dots A_{2,K}
\dots
C_N A_{N,1} A_{N,2} \dots A_{N,K}

Výstup

Pokud AtCoder Inc. může dosáhnout svého cíle, vytiskněte minimální celkové náklady potřebné k dosažení cíle; jinak vytiskněte -1.

Omezení

- 1 \le N \le 100
- 1 \le K,P \le 5
- 0 \le A_{i,j} \le P(1 \le i \le N,1 \le j \le K)
- 1 \le C_i \le 10^9(1 \le i \le N)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

9

Pokud vykonáte první, třetí a čtvrtý vývojový plán, každý parametr bude 3+2+0=5,0+4+1=5,2+0+4=6, všechny jsou alespoň 5, takže cíle je dosaženo. Celkové náklady v tomto případě jsou 5 + 3 + 1 = 9.
Není možné dosáhnout cíle za celkové náklady 8 nebo méně. Odpověď je tedy 9.

Ukázkový vstup 2

7 3 5
85 1 0 1
37 1 1 0
38 2 0 0
45 0 2 2
67 1 1 0
12 2 2 0
94 2 2 1

Ukázkový výstup 2

-1

Cíle nelze dosáhnout, ať už uděláte cokoliv. Proto vytiskněte -1.

AtCoder Inc. plánuje vyvinout produkt.
Produkt má ( K ) parametrů, jejichž hodnoty jsou aktuálně všechny nastaveny na nulu. Společnost chce zvýšit všechny hodnoty parametrů na alespoň ( P ).
Existuje ( N ) plánů vývoje. Provedení ( i )-tého plánu vývoje ( 1 leq i leq N ) zvýší hodnotu ( j )-tého parametru o ( A {i,j} ) pro každé celé číslo ( j ), pro které platí ( 1 leq j leq K ), za cenu ( C_i ).
Plán vývoje nelze provést více než jednou. Určete, zda může společnost dosáhnout svého cíle, a pokud ano, zjistěte minimální celkové náklady potřebné k dosažení cíle.

Vstup

Vstup je poskytován ve standardním vstupním formátu:
[
N \, K , P \\
C_1 \, A_{1,1} \, A_{1,2} \, \dots , A_{1,K}
C_2 , A_{2,1} , A_{2,2} , \dots , A_{2,K} \\
\dots \\
C_N , A_{N,1} , A_{N,2} , \dots \, A_{N,K}
]

Výstup

Pokud AtCoder Inc. může dosáhnout svého cíle, vytiskněte minimální celkové náklady potřebné k dosažení cíle; jinak vytiskněte -1.

Omezení

- 1 \le N \le 100
- 1 \le K,P \le 5
- 0 \le A_{i,j} \le P(1 \le i \le N,1 \le j \le K)
- 1 \le C_i \le 10^9(1 \le i \le N)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

9

Pokud vykonáte první, třetí a čtvrtý vývojový plán, každý parametr bude 3+2+0=5,0+4+1=5,2+0+4=6, všechny jsou alespoň 5, takže cíle je dosaženo. Celkové náklady v tomto případě jsou 5 + 3 + 1 = 9.
Není možné dosáhnout cíle za celkové náklady 8 nebo méně. Odpověď je tedy 9.

Ukázkový vstup 2

7 3 5
85 1 0 1
37 1 1 0
38 2 0 0
45 0 2 2
67 1 1 0
12 2 2 0
94 2 2 1

Ukázkový výstup 2

-1

Cíle nelze dosáhnout, ať už uděláte cokoliv. Proto vytiskněte -1.


Je dán řetězec S délky 16, který se skládá z 0 a 1.
Je-li i-tý znak řetězce S roven 0 pro každé sudé číslo i od 2 do 16, vypište Ano; v opačném případě vypište Ne.

Vstup

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

Výstup

Je-li i-tý znak S roven 0 pro každé sudé číslo i od 2 do 16, vypište Ano; jinak vypište Ne.

Omezení

- S je řetězec délky 16, který se skládá z 0 a 1.

Ukázka Vstup 1

1001000000001010

Ukázkový výstup 1

No

Čtvrtý znak řetězce S= 1001000000001010 je 1, takže byste měli vypsat No.

Ukázkový vstup 2

1010100000101000

Ukázkový výstup 2

Yes

Každý sudý znak v S= 1010100000101000 je 0, takže byste měli vypsat Yes.

Ukázkový vstup 3

1111111111111111

Vzorový výstup 3

No

Každý sudý znak v S je 1.
Zejména nejsou všechny 0, takže byste měli vypsat  No.

Je dána řetězec S délky 16 složený z 0 a 1.
Pokud je i-tý znak S 0 pro každé sudé číslo i od 2 do 16, vytiskněte Yes; jinak vytiskněte No.

Vstup

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

Výstup

Pokud je i-tý znak S 0 pro každé sudé číslo i od 2 do 16, vytiskněte Yes; jinak vytiskněte No.

Omezení

- S je řetězec délky 16 složený z 0 a 1.

Ukázkový vstup 1

1001000000001010

Ukázkový výstup 1

No

4-tý znak S = 1001000000001010 je 1, takže byste měli vytisknout No.

Ukázkový vstup 2

1010100000101000

Ukázkový výstup 2

Yes

Každý znak na sudé pozici v S = 1010100000101000 je 0, takže byste měli vytisknout Yes.

Ukázkový vstup 3

1111111111111111

Ukázkový výstup 3

No

Každý znak na sudé pozici v S je 1.
Zejména nejsou všechny 0, takže byste měli vytisknout No.

Dostanete řetězec S délky 16 skládající se z 0 a 1.
Pokud i-tý znak S je 0 pro každé sudé číslo i od 2 do 16, vytiskněte Ano; jinak tiskněte Ne.

Vstup

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

Výstup

Pokud i-tý znak S je 0 pro každé sudé číslo i od 2 do 16, vytiskněte Ano; jinak tiskněte Ne.

Omezení

- S je řetězec délky 16 sestávající z 0 a 1.

Ukázkový vstup 1

1001000000001010

Ukázkový výstup 1

No

4. znak S= 1001000000001010 je 1, takže byste měli vytisknout Ne.

Ukázkový vstup 2

1010100000101000

Ukázkový výstup 2

Yes

Každý sudý znak v S= 1010100000101000 je 0, takže byste měli vytisknout Ano.

Ukázkový vstup 3

111111111111111

Ukázkový výstup 3

No

Každý sudý znak v S je 1.
Zejména nejsou všechny 0, takže byste měli vytisknout Ne.


Existuje N hráčů s čísly 1 až N, kteří odehráli turnaj s kolovým systémem. V každém zápase tohoto turnaje jeden hráč vyhrál a druhý prohrál.
Výsledky zápasů jsou uvedeny jako N řetězců S_1,S_2,\ldots,S_N, každý o délce N, v následujícím formátu:

-
Pokud i\neq j, j-tý znak S_i je o nebo x. o znamená, že hráč i vyhrál nad hráčem j, a x znamená, že hráč i prohrál s hráčem j.

-
Pokud i=j, j-tý znak S_i je -.

Hráč s větším počtem výher se řadí výše. Pokud mají dva hráči stejný počet výher, řadí se výše hráč s menším číslem. Uveďte čísla hráčů N v sestupném pořadí podle pořadí.

Vstup

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

Výstup

Vypíše čísla hráčů N v sestupném pořadí.

Omezení

- 2\leq N\leq 100
- N je celé číslo.
- S_i je řetězec délky N složený z o, x a -.
- S_1,\ldots,S_N odpovídají formátu popsanému v zadání úlohy.

Vzorový vstup 1

3
-xx
o-x
oo-

Ukázka výstupu 1

3 2 1

Hráč 1 má 0 výher, hráč 2 má 1 výhru a hráč 3 má 2 výhry. Čísla hráčů v sestupném pořadí jsou tedy 3,2,1.

Vzorový vstup 2

7
-oxoxoxox
x-xxxox
oo-xoox
xoo-ooo
ooxx-ox
xxxxx-x
oooxoo-

Ukázka výstupu 2

4 7 3 1 5 2 6

Hráči 4 i 7 mají 5 výher, ale hráč 4 je na vyšší pozici, protože má menší číslo.

Je N hráčů očíslovaných od 1 do N, kteří odehráli turnaj každý s každým. Pro každý zápas v tomto turnaji jeden hráč vyhrál a druhý prohrál.
Výsledky zápasů jsou dány jako N řetězců S_1,S_2,\ldots,S_N o délce N každý, v následujícím formátu:

-
Pokud i\neq j, j-tý znak S_i je o nebo x. o znamená, že hráč i vyhrál nad hráčem j, a x znamená, že hráč i prohrál s hráčem j.

-
Pokud i=j, j-tý znak S_i je -.

Hráč s více výhrami je výše v hodnocení. Pokud mají dva hráči stejný počet výher, hráč s menším číslem hráče je výše. Uveďte čísla hráčů N v sestupném pořadí podle hodnocení.

Vstup

Vstup je dán ve formátu ze standardního vstupu:
N
S_1
S_2
\vdots
S_N

Výstup

Vytiskněte čísla hráčů N v sestupném pořadí podle hodnocení.

Omezení

- 2\leq N\leq 100
- N je celé číslo.
- S_i je řetězec délky N sestávající z o, x a -.
- S_1,\ldots,S_N odpovídají formátu popsanému v zadání problému.

Ukázkový vstup 1

3
-xx
o-x
oo-

Ukázkový výstup 1

3 2 1

Hráč 1 má 0 výher, hráč 2 má 1 výhru a hráč 3 má 2 výhry. Čísla hráčů v sestupném pořadí podle hodnocení jsou tedy 3,2,1.

Ukázkový vstup 2

7
-oxoxox
x-xxxox
oo-xoox
xoo-ooo
ooxx-ox
xxxxx-x
oooxoo-

Ukázkový výstup 2

4 7 3 1 5 2 6

Oba hráči 4 a 7 mají 5 výher, ale hráč 4 je výše v hodnocení, protože jejich číslo hráče je menší.

V turnaji je N hráčů s čísly 1 až N, kteří odehráli kruhový turnaj. V každém zápase tohoto turnaje jeden hráč vyhrál a druhý prohrál.
Výsledky zápasů jsou uvedeny jako N řetězců S_1,S_2,\ldots,S_N, každý o délce N, v následujícím formátu:

-
Pokud i\neq j, j-tý znak S_i je o nebo x. o znamená, že hráč i vyhrál nad hráčem j, a x znamená, že hráč i prohrál s hráčem j.

-
Pokud i=j, j-tý znak S_i je -.

Hráč s větším počtem výher se řadí výše. Pokud mají dva hráči stejný počet výher, řadí se výše hráč s menším číslem. Uveďte čísla hráčů N v sestupném pořadí podle pořadí.

Vstup

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

Výstup

Vypíše čísla hráčů N v sestupném pořadí.

Omezení

- 2\leq N\leq 100
- N je celé číslo.
- S_i je řetězec délky N složený z o, x a -.
- S_1,\ldots,S_N odpovídají formátu popsanému v zadání úlohy.

Vzorový vstup 1

3
-xx
o-x
oo-

Ukázka výstupu 1

3 2 1

Hráč 1 má 0 výher, hráč 2 má 1 výhru a hráč 3 má 2 výhry. Čísla hráčů v sestupném pořadí jsou tedy 3,2,1.

Vzorový vstup 2

7
-oxoxox
x-xxxox
oo-xoox
xoo-ooo
ooxx-ox
xxxxx-x
oooxoo-

Ukázka výstupu 2

4 7 3 1 5 2 6

Hráči 4 i 7 mají 5 výher, ale hráč 4 je na vyšší pozici, protože má menší číslo.


Právě probíhá programovací soutěž World Tour Finals, které se účastní N hráčů, a polovina soutěžního času již uplynula.
V této soutěži je M úloh a skóre A_i úlohy i je násobkem 100 v rozmezí 500 až 2500 včetně.
Pro každé i = 1, \ldots, N je dán řetězec S_i, který udává, které úlohy hráč i již vyřešil.
S_i je řetězec délky M složený z o a x, kde j-tý znak S_i je o, pokud hráč i již vyřešil problém j, a x, pokud jej ještě nevyřešil.
Zde platí, že žádný z hráčů ještě nevyřešil všechny problémy.
Celkové skóre hráče i se vypočítá jako součet skóre problémů, které vyřešil, plus bonusové skóre i bodů.
Pro každé i = 1, \ldots, N odpovězte na následující otázku.

- Kolik alespoň úloh, které hráč i ještě nevyřešil, musí hráč i vyřešit, aby překonal aktuální celkové skóre všech ostatních hráčů?

Všimněte si, že za podmínek uvedených v tomto tvrzení a v omezeních lze dokázat, že hráč i může překročit aktuální celkové skóre všech ostatních hráčů vyřešením všech úloh, takže odpověď je vždy definována.

Vstup

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

Výstup

Vytiskněte N řádků. Na i-tém řádku by měla být odpověď na otázku pro hráče i.

Omezení

- 2\leq N\leq 100
- 1\leq M\leq 100
- 500\leq A_i\leq 2500
- A_i je násobkem 100.
- S_i je řetězec délky M složený z o a x.
- S_i obsahuje alespoň jedno x.
- Všechny číselné hodnoty na vstupu jsou celá čísla.

Vzorový vstup 1

3 4
1000 500 700 2000
xxxo
ooxx
oxox

Vzorový výstup 1

0
1
1

Celkové skóre hráčů v polovině soutěžní doby je 2001 bodů pro hráče 1, 1502 bodů pro hráče 2 a 1703 bodů pro hráče 3.
Hráč 1 má již nyní náskok před celkovými výsledky všech ostatních hráčů, aniž by řešil další úlohy.
Hráč 2 může například vyřešit úlohu 4 a získat tak celkové skóre 3502 bodů, čímž by překonal celkové skóre všech ostatních hráčů.
Hráč 3 může také například vyřešit úlohu 4 a mít celkové skóre 3703 bodů, čímž by překonal celkové skóre všech ostatních hráčů.

Vzorový vstup 2

5 5
1000 1500 2000 2000 2500
xxxxx
oxxxx
xxxxx
oxxxx
oxxxx

Vzorový výstup 2

1
1
1
1
0

Vzorový vstup 3

7 8
500 500 500 500 500 500 500 500
xxxxxxxx
oxxxxxxx
ooxxxxxx
oooxxxxxxx
ooooxxxx
oooooxxx
ooooooxxx

Vzorový výstup 3

7
6
5
4
3
2
0

Programátorská soutěž World Tour Finals je v plném proudu, účastní se jí N hráčů a polovina času soutěže již uplynula.
V této soutěži je M úloh a skóre A_i úlohy i je násobkem 100 v rozmezí od 500 do 2500, včetně.
Pro každé i = 1, \ldots, N máte k dispozici řetězec S_i, který udává, které problémy hráč i již vyřešil.
S_i je řetězec délky M složený z o a x, kde j-tý znak S_i je o, pokud hráč i již vyřešil problém j, a x, pokud jej ještě nevyřešil.
Zde platí, že žádný z hráčů dosud nevyřešil všechny úlohy.
Celkové skóre hráče i se počítá jako součet bodů problémů, které vyřešil, plus bonusové skóre o i bodech.
Pro každé i = 1, \ldots, N odpovězte na následující otázku.

- Nejméně kolik z problémů, které hráč i ještě nevyřešil, musí hráč i vyřešit, aby překonal aktuální celkové skóre všech ostatních hráčů?

Vezměte na vědomí, že za podmínek v tomto zadání a omezení je možné dokázat, že hráč i může překonat aktuální celkové skóre všech ostatních hráčů vyřešením všech problémů, takže odpověď je vždy definována.

Vstup

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

Výstup

Vytiskněte N řádků. i-tá řádka by měla obsahovat odpověď na otázku pro hráče i.

Omezení

- 2\leq N\leq 100
- 1\leq M\leq 100
- 500\leq A_i\leq 2500
- A_i je násobek 100.
- S_i je řetězec délky M složený z o a x.
- S_i obsahuje alespoň jedno x.
- Všechny číselné hodnoty ve vstupu jsou celá čísla.

Ukázkový Vstup 1

3 4
1000 500 700 2000
xxxo
ooxx
oxox

Ukázkový Výstup 1

0
1
1

Celkové skóre hráčů v polovině soutěžního času jsou 2001 bodů pro hráče 1, 1502 bodů pro hráče 2 a 1703 bodů pro hráče 3.
Hráč 1 je již před všemi ostatními hráči bez řešení dalších úloh.
Hráč 2 může, například, vyřešit problém 4, aby měl celkové skóre 3502 bodů, což by překonalo celková skóre všech ostatních hráčů.
Hráč 3 může také, například, vyřešit problém 4, aby měl celkové skóre 3703 bodů, což by překonalo celková skóre všech ostatních hráčů.

Ukázkový Vstup 2

5 5
1000 1500 2000 2000 2500
xxxxx
oxxxx
xxxxx
oxxxx
oxxxx

Ukázkový Výstup 2

1
1
1
1
0

Ukázkový Vstup 3

7 8
500 500 500 500 500 500 500 500
xxxxxxxx
oxxxxxxx
ooxxxxxx
oooxxxxx
ooooxxxx
oooooxxx
ooooooxx

Ukázkový Výstup 3

7
6
5
4
3
2
0

Probíhá programátorská soutěž World Tour Finals, které se účastní N hráčů a polovina soutěžního času uplynula.
V této soutěži je M problémů a skóre A_i problému i je násobkem 100 mezi 500 a 2500 včetně.
Pro každé i = 1, \ldots, N dostanete řetězec S_i, který označuje, které problémy hráč i již vyřešil.
S_i je řetězec délky M sestávající z o a x, kde j-tý znak S_i je o, pokud hráč i již vyřešil problém j, a x, pokud jej ještě nevyřešil.
Tady ještě žádný z hráčů nevyřešil všechny problémy.
Celkové skóre hráče i se vypočítá jako součet skóre problémů, které vyřešil, plus bonusové skóre i bodů.
Pro každé i = 1, \ldots, N odpovězte na následující otázku.

- Kolik z problémů, které hráč, který jsem ještě nevyřešil, musí vyřešit alespoň já, aby překonal současné celkové skóre všech ostatních hráčů?

Všimněte si, že za podmínek v tomto prohlášení a omezení lze dokázat, že hráč i může překonat aktuální celkové skóre všech ostatních hráčů vyřešením všech problémů, takže odpověď je vždy definována.

Vstup

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

Výstup

Vytiskněte N řádků. I-tý řádek by měl obsahovat odpověď na otázku pro hráče i.

Omezení

- 2\leq N\leq 100
- 1\leq M\leq 100
- 500\leq A_i\leq 2500
- A_i je násobek 100.
- S_i je řetězec délky M sestávající z o a x.
- S_i obsahuje alespoň jedno x.
- Všechny číselné hodnoty ve vstupu jsou celá čísla.

Ukázkový vstup 1

3 4
1000 500 700 2000
xxxo
ooxx
oxox

Ukázkový výstup 1

0
1
1

Celkové skóre hráčů v polovině soutěžního času je 2001 bodů pro hráče 1, 1502 bodů pro hráče 2 a 1703 bodů pro hráče 3.
Hráč 1 je již před celkovým skóre všech ostatních hráčů, aniž by vyřešil další problémy.
Hráč 2 může například vyřešit problém 4 a získat celkové skóre 3502 bodů, což by překonalo celkové skóre všech ostatních hráčů.
Hráč 3 může také například vyřešit problém 4 a získat tak celkové skóre 3703 bodů, což by překonalo celkové skóre všech ostatních hráčů.

Ukázkový vstup 2

5 5
1000 1500 2000 2000 2500
xxxxx
oxxxx
xxxxx
oxxxx
oxxxx

Ukázkový výstup 2

1
1
1
1
0

Ukázkový vstup 3

7 8
500 500 500 500 500 500 500 500
xxxxxxxx
oxxxxxxx
ooxxxxxx
oooxxxxx
ooooxxxx
ooooxxx
ooooooxx

Ukázkový výstup 3

7
6
5
4
3
2
0


Na začátku existuje N velikostí slizů.
Konkrétně, pro každé 1\leq i\leq N, existuje C_i slizů velikosti S_i.
Takahashi může opakovat syntézu slizů libovolně mnohokrát (možná nulakrát) v jakémkoli pořadí.
Syntéza slizů se provádí následujícím způsobem.

- Vyberte dva slizy stejné velikosti. Nechť tato velikost je X, a objeví se nový sliz velikosti 2X. Potom dva původní slizy zmizí.

Takahashi chce minimalizovat počet slizů.
Jaký je minimální počet slizů, kterého může dosáhnout optimální sekvencí syntéz?

Vstup

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

Výstup

Vytiskněte minimální možný počet slizů poté, co Takahashi zopakoval syntézu.

Omezení

- 1\leq N\leq 10^5
- 1\leq S_i\leq 10^9
- 1\leq C_i\leq 10^9
- S_1,S_2,\ldots,S_N jsou všechny různé.
- Všechny hodnoty vstupu jsou celá čísla.

Příklad vstupu 1

3
3 3
5 1
6 1

Příklad výstupu 1

3

Na začátku jsou tři slizy velikosti 3, jeden velikosti 5 a jeden velikosti 6.
Takahashi může provést syntézu dvakrát následujícím způsobem:

- Nejprve provést syntézu výběrem dvou slizů velikosti 3. Zůstane jeden sliz velikosti 3, jeden velikosti 5 a dva velikosti 6.
- Dále provést syntézu výběrem dvou slizů velikosti 6. Zůstane jeden sliz velikosti 3, jeden velikosti 5 a jeden velikosti 12.

Bez ohledu na to, jak opakuje syntézu z výchozího stavu, nemůže snížit počet slizů na 2 nebo méně, takže byste měli vytisknout 3.

Příklad vstupu 2

3
1 1
2 1
3 1

Příklad výstupu 2

3

Nemůže provést syntézu.

Příklad vstupu 3

1
1000000000 1000000000

Příklad výstupu 3

13

Zpočátku existuje N velikostí slizů.
Konkrétně pro každý 1\leq i\leq N existuje C_i slizů velikosti S_i.
Takahashi může syntézu slizů opakovat libovolný početkrát (pokud možno nulový) v libovolném pořadí.
Syntéza slizu se provádí takto.

- Vyberte dva slizy stejné velikosti. Nechť je tato velikost X a objeví se nový sliz o velikosti 2X. Poté oba původní slizy zmizí.

Takahaši chce minimalizovat počet slizů.
Jaký je minimální počet slizů, který může získat optimální posloupností syntéz?

Vstup

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

Výstup

Vypište minimální možný počet slizů po opakování syntézy Takahashi.

Omezení

- 1\leq N\leq 10^5
- 1\leq S_i\leq 10^9
- 1\leq C_i\leq 10^9
- S_1,S_2,\ldots,S_N jsou všechny různé.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázka vstupu 1

3
3 3
5 1
6 1

Vzorový výstup 1

3

Na počátku jsou tři sliznice o velikosti 3, jedna o velikosti 5 a jedna o velikosti 6.
Takahashi může provést syntézu dvakrát následujícím způsobem:

- Nejprve provede syntézu tak, že vybere dva slimy velikosti 3. Bude k dispozici jeden sliz velikosti 3, jeden velikosti 5 a dva velikosti 6.
- Poté provede syntézu výběrem dvou slizů velikosti 6. Vznikne jeden sliz velikosti 3, jeden velikosti 5 a jeden velikosti 12.

Bez ohledu na to, jak syntézu zopakuje z počátečního stavu, nemůže snížit počet slizů na 2 nebo méně, takže byste měli vytisknout 3.

Vzorový vstup 2

3
1 1
2 1
3 1

Vzorový výstup 2

3

Nemůže provést syntézu.

Vzorový vstup 3

1
1000000000 1000000000

Ukázkový výstup 3

13

Zpočátku existuje N velikostí slizů.
Konkrétně na každý 1\leq i\leq N připadá C_i sliz velikosti S_i.
Takahashi může opakovat syntézu slizu kolikrát (možná nula) v libovolném pořadí.
Syntéza slizu se provádí následovně.

- Vyberte dva slizy stejné velikosti. Nechť je tato velikost X a objeví se nový sliz velikosti 2X. Poté dva původní slizy zmizí.

Takahashi chce minimalizovat počet slizů.
Jaký minimální počet slizů může skončit při optimální sekvenci syntéz?

Vstup

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

Výstup

Poté, co Takahashi zopakoval syntézu, vytiskněte minimální možný počet slizů.

Omezení

- 1\leq N\leq 10^5
- 1\leq S_i\leq 10^9
- 1\leq C_i\leq 10^9
- S_1,S_2,\ldots,S_N jsou různé.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3
3 3
5 1
6 1

Ukázkový výstup 1

3

Zpočátku existují tři slizy velikosti 3, jeden velikosti 5 a jeden velikosti 6.
Takahashi může provést syntézu dvakrát takto:

- Nejprve proveďte syntézu výběrem dvou slizů o velikosti 3. Bude jeden sliz o velikosti 3, jeden o velikosti 5 a dva o velikosti 6.
- Dále proveďte syntézu výběrem dvou slizů velikosti 6. Bude jeden sliz velikosti 3, jeden velikosti 5 a jeden velikosti 12.

Bez ohledu na to, jak opakuje syntézu z počátečního stavu, nemůže snížit počet slizů na 2 nebo méně, takže byste měli vytisknout 3.

Ukázkový vstup 2

3
11
2 1
3 1

Ukázkový výstup 2

3

Nemůže provést syntézu.

Ukázkový vstup 3

1
1000000000 1000000000

Ukázkový výstup 3

13


Takahashi má seznam skladeb s N skladbami.
Skladba i (1 \leq i \leq N) trvá T_i sekund.
Takahashi spustil náhodné přehrávání seznamu skladeb v čase 0.
Náhodné přehrávání opakuje následující: vyberte jednu skladbu z N skladeb se stejnou pravděpodobností a přehrajte tuto skladbu až do konce.
Zde se skladby přehrávají nepřetržitě: jakmile skladba skončí, okamžitě začne další vybraná skladba.
Stejnou skladbu lze vybrat postupně.
Najděte pravděpodobnost, že se hraje skladba 1 (X + 0,5) sekund po čase 0, modulo 998244353.

Jak vytisknout pravděpodobnost modulo 998244353
Lze dokázat, že pravděpodobnost, kterou v tomto problému najdeme, je vždy racionální číslo.
Omezení tohoto problému také zaručují, že když pravděpodobnost, která má být nalezena, je vyjádřena jako neredukovatelný zlomek \frac{y}{x}, x není dělitelné 998244353.
Potom existuje jedinečné celé číslo z mezi 0 a 998244352 včetně, takže xz \equiv y \pmod{998244353}. Nahlásit toto z.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N X
T_1 T_2 \ldots T_N

Výstup

Vytiskněte pravděpodobnost, modulo 998244353, že se hraje první skladba v seznamu stop (X+0,5) sekund po čase 0.

Omezení

- 2 \leq N\leq 10^3
- 0 \leq X\leq 10^4
- 1 \leq T_i\leq 10^4
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 6
3 5 6

Ukázkový výstup 1

369720131

Skladba 1 se přehraje 6,5 sekundy po čase 0, pokud jsou skladby přehrávány v jednom z následujících pořadí.

- Píseň 1 → Píseň 1 → Píseň 1
- Píseň 2 → Píseň 1
- Píseň 3 → Píseň 1

Pravděpodobnost, že jeden z nich nastane, je \frac{7}{27}.
Máme 369720131\times 27\equiv 7 \pmod{998244353}, takže byste měli vytisknout 369720131.

Ukázkový vstup 2

5 0
1 2 1 2 1

Ukázkový výstup 2

598946612

0,5 sekundy po čase 0 se stále hraje první skladba, která se má přehrát, takže hledaná pravděpodobnost je \frac{1}{5}.
Pamatujte, že různé skladby mohou mít stejnou délku.

Ukázkový vstup 3

5 10 000
1 2 3 4 5

Ukázkový výstup 3

586965467

Takahashi má seznam skladeb s N píseňmi.
píseň i (1 \leq i \leq N) trvá T_i sekund.
Takahashi spustil náhodné přehrávání seznamu skladeb v čase 0.
Náhodné přehrávání opakuje následující: vyberte jednu skladbu z N skladeb se stejnou pravděpodobností a přehrajte tuto skladbu až do konce.
Zde se skladby přehrávají nepřetržitě: jakmile píseň skončí, okamžitě začne další vybraná píseň.
Stejnou skladbu lze vybrat postupně.
Najděte pravděpodobnost, že se hraje píseň 1 (X + 0,5) sekund po čase 0, modulo 998244353.

Jak vytisknout pravděpodobnost modulo 998244353
Lze dokázat, že pravděpodobnost, kterou v tomto problému najdeme, je vždy racionální číslo.
Omezení tohoto problému také zaručují, že když pravděpodobnost, která má být nalezena, je vyjádřena jako neredukovatelný zlomek \frac{y}{x}, x není dělitelné 998244353.
Potom existuje jedinečné celé číslo z mezi 0 a 998244352 včetně, takže xz \equiv y \pmod{998244353}. Nahlásit toto z.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N X
T_1 T_2 \ldots T_N

Výstup

Vytiskněte pravděpodobnost, modulo 998244353, že se hraje první píseň v seznamu stop (X+0,5) sekund po čase 0.

Omezení

- 2 \leq N\leq 10^3
- 0 \leq X\leq 10^4
- 1 \leq T_i\leq 10^4
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 6
3 5 6

Ukázkový výstup 1

369720131

píseň 1 se přehraje 6,5 sekundy po čase 0, pokud jsou skladby přehrávány v jednom z následujících pořadí.

- Píseň 1 → Píseň 1 → Píseň 1
- Píseň 2 → Píseň 1
- Píseň 3 → Píseň 1

Pravděpodobnost, že k jednomu z nich dojde, je \frac{7}{27}.
Máme 369720131\times 27\equiv 7 \pmod{998244353}, takže byste měli vytisknout 369720131.

Ukázkový vstup 2

5 0
1 2 1 2 1

Ukázkový výstup 2

598946612

0,5 sekundy po čase 0 se stále hraje první píseň která se má přehrát, takže hledaná pravděpodobnost je \frac{1}{5}.
Pamatujte, že různé skladby mohou mít stejnou délku.

Ukázkový vstup 3

5 10 000
1 2 3 4 5

Ukázkový výstup 3

586965467

Takahashi má seznam skladeb s N skladbami.
Píseň i (1 \leq i \leq N) trvá T_i sekund.
Takahashi spustil náhodné přehrávání seznamu skladeb v čase 0.
Náhodné přehrávání se opakuje následující: vyberte jednu skladbu z N skladeb se stejnou pravděpodobností a přehrajte tuto skladbu až do konce.
Zde se písně hrají nepřetržitě: jakmile píseň skončí, okamžitě začne další vybraná skladba.
Stejnou skladbu lze vybrat postupně.
Určete pravděpodobnost, že se píseň 1 přehrává (X + 0,5) sekund po čase 0, modulo 998244353.

Jak vytisknout pravděpodobnost modulo 998244353
Lze dokázat, že pravděpodobnost, kterou lze v této úloze nalézt, je vždy racionální číslo.
Omezení tohoto problému také zaručují, že když je nalezená pravděpodobnost vyjádřena jako neredukovatelný zlomek frac{y}{x}, x není dělitelné 998244353.
Pak existuje jednoznačné celé číslo z mezi 0 a 998244352 včetně, takové, že xz equiv y pmod{998244353}. Zadejte toto z.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N X
T_1 T_2 \ldots T_N

Výstup

Vytiskněte pravděpodobnost, modulo 998244353, že se první skladba v playlistu přehrává (X+0.5) sekund po čase 0.

Omezení

- 2 \leq N\leq 10^3
- 0 \leq X\leq 10^4
- 1 \leq T_i\leq 10^4
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

3 6
3 5 6

Ukázkový výstup 1

369720131

Skladba 1 se bude přehrávat 6,5 sekundy po čase 0, pokud jsou skladby přehrávány v jednom z následujících pořadí.

- Skladba 1 \to Skladba 1 \to Skladba 1
- Skladba 2 \to Skladba 1
- Skladba 3 \to Skladba 1

Pravděpodobnost, že k jednomu z nich dojde, je \frac{7}{27}.
Máme 369720131 \times 27 \equiv 7 \pmod{998244353}, takže byste měli tisknout 369720131.

Vzorkovací vstup 2

5 0
1 2 1 2 1

Ukázkový výstup 2

598946612

0,5 sekundy po čase 0 se stále hraje první skladba, která se má přehrát, takže hledaná pravděpodobnost je \frac{1}{5}.
Všimněte si, že různé skladby mohou mít stejnou délku.

Vzorkovací vstup 3

5 10000
1 2 3 4 5

Ukázkový výstup 3

586965467


Máte dáno N celých čísel A _ 1,A _ 2,\ldots,A _ N.
Pokud jsou všechny jejich hodnoty stejné, vypište Yes; jinak vypište No.

Vstup

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

Výstup

Vypište jediný řádek obsahující Yes, pokud jsou hodnoty daných A _ 1,A _ 2,\ldots,A _ N stejné, a No v opačném případě.

Omezení

- 2\leq N\leq100
- 1\leq A _ i\leq100\ (1\leq i\leq N)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3
3 2 4

Ukázkový výstup 1

No

Máme A _ 1\neq A _ 2, proto byste měli vypisovat No.

Ukázkový vstup 2

4
3 3 3 3

Ukázkový výstup 2

Yes

Máme A _ 1=A _ 2=A _ 3=A _ 4, proto byste měli vypisovat Yes.

Ukázkový vstup 3

10
73 8 55 26 97 48 37 47 35 55

Ukázkový výstup 3

No

Je vám dáno N celých čísel A _ 1,A _ 2,\ldots,A _ N.
Pokud jsou jejich hodnoty všechny stejné, vytiskněte Ano; tiskněte Ne.

Vstup

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

Výstup

Vytiskněte jeden řádek obsahující Ano, pokud jsou hodnoty daných A _ 1,A _ 2,\ldots,A _N všechny stejné a jinak Ne.

Omezení

- 2\leq N\leq100
- 1\leq A _ i\leq100\ (1\leq i\leq N)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3
3 2 4

Ukázkový výstup 1

No

Máme A _ 1\neq A _ 2, takže byste měli vytisknout Ne.

Ukázkový vstup 2

4
3 3 3 3

Ukázkový výstup 2

Yes

Máme A _ 1=A _ 2=A _ 3=A _ 4, takže byste měli vytisknout Ano.

Ukázkový vstup 3

10
73 8 55 26 97 48 37 47 35 55

Ukázkový výstup 3

No


Je dáno celé kladné číslo N.
Pokud existují celá čísla x a y taková, že N=2^x3^y, vypište Yes; jinak vypište No.

Vstup

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

Výstup

Vypíše jeden řádek obsahující Yes, pokud existují celá čísla x a y, která splňují podmínku, a No v opačném případě.

Omezení

- 1\leq N\leq10^{18}
- N je celé číslo.

Ukázka Vstup 1

324

Vzorový výstup 1

Yes

Pro x=2,y=4 máme 2^x3^y=2^23^4=4\times81=324, takže podmínka je splněna.
Vypište tedy Yes.

Vzorový vstup 2

5

Ukázkový výstup 2

No

Neexistují celá čísla x a y taková, aby 2^x3^y=5.
Měli byste tedy vypsat No.

Vzorový vstup 3

32

Ukázkový výstup 3

Yes

Pro x=5,y=0 máme 2^x3^y=32\times1=32, takže byste měli vypsat Yes.

Vzorový vstup 4

37748736

Ukázkový výstup 4

Yes

Je dáno kladné celé číslo N.
Pokud existují celá čísla x a y tak, že N=2^x3^y, vytiskněte Yes; jinak vytiskněte No.

Vstup

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

Výstup

Vytiskněte jeden řádek obsahující Yes, pokud existují celá čísla x a y, která splňují podmínku, a No v opačném případě.

Omezení

- 1\leq N\leq10^{18}
- N je celé číslo.

Ukázkový vstup 1

324

Ukázkový výstup 1

Yes

Pro x=2,y=4, máme 2^x3^y=2^23^4=4\times81=324, takže podmínka je splněna.
Tudíž byste měli vytisknout Yes.

Ukázkový vstup 2

5

Ukázkový výstup 2

No

Neexistují žádná celá čísla x a y taková, že 2^x3^y=5.
Tudíž byste měli vytisknout No.

Ukázkový vstup 3

32

Ukázkový výstup 3

Yes

Pro x=5,y=0, máme 2^x3^y=32\times1=32, takže byste měli vytisknout Yes.

Ukázkový vstup 4

37748736

Ukázkový výstup 4

Yes

Je vám přiděleno kladné celé číslo N.
Pokud existují celá čísla x a y taková, že N=2^x3^y, vytiskněte Ano; jinak tisk No.

Vstup

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

Výstup

Vytiskněte jeden řádek obsahující Ano, pokud existují celá čísla x a y, která splňují podmínku, a No jinak.

Omezení

- 1\leq N\leq10^{18}
- N je celé číslo.

Ukázkový vstup 1

324

Ukázkový výstup 1

Yes

Pro x=2,y=4 máme 2^x3^y=2^23^4=4\times81=324, takže podmínka je splněna.
Měli byste tedy vytisknout Yes.

Ukázkový vstup 2

5

Ukázkový výstup 2

No

Neexistují žádná celá čísla x a y taková, aby 2^x3^y=5.
Měli byste tedy vytisknout No.

Ukázkový vstup 3

32

Ukázkový výstup 3

Yes

Pro x=5,y=0 máme 2^x3^y=32\times1=32, takže byste měli vytisknout Yes.

Ukázkový vstup 4

37748736

Ukázkový výstup 4

Yes


Takahashi poslal řetězec T skládající se z malých anglických písmen Aokimu. V důsledku toho Aoki obdržel řetězec T' skládající se z malých anglických písmen.
Řetězec T' mohl být změněn z T. Konkrétně se ví, že platí přesně jedna z následujících čtyř podmínek.

- T' je rovno T.
- T' je řetězec získaný vložením jednoho malého anglického písmene na jedno místo (případně na začátek a konec) v T.
- T' je řetězec získaný odstraněním jednoho znaku z T.
- T' je řetězec získaný změnou jednoho znaku v T na jiné malé anglické písmeno.

Je vám dán řetězec T' obdržený Aokim a N řetězců S_1, S_2, \ldots, S_N skládajících se z malých anglických písmen. Najděte všechny řetězce mezi S_1, S_2, \ldots, S_N, které by mohly být rovny řetězci T zaslanému Takahashim.

Vstup

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

Výstup

Nechť (i_1, i_2, \ldots, i_K) je posloupnost indexů všech řetězců mezi S_1, S_2, \ldots, S_N, které by mohly být rovny T, v rostoucím pořadí.
Vytiskněte délku K této posloupnosti a samotnou posloupnost v následujícím formátu:
K
i_1 i_2 \ldots i_K

Omezení

- N je celé číslo.
- 1 \leq N \leq 5 \times 10^5
- S_i a T' jsou řetězce délky mezi 1 a 5 \times 10^5, včetně, skládající se z malých anglických písmen.
- Celková délka S_1, S_2, \ldots, S_N je nejvýše 5 \times 10^5.

Ukázkový vstup 1

5 ababc
ababc
babc
abacbc
abdbc
abbac

Ukázkový výstup 1

4
1 2 3 4

Mezi S_1, S_2, \ldots, S_5 jsou řetězce, které by mohly být rovny T, S_1, S_2, S_3, S_4, jak je vysvětleno níže.

- S_1 by mohl být rovný T, protože T' = ababc je rovno S_1 = ababc.
- S_2 by mohl být rovný T, protože T' = ababc je získán vložením písmene a na začátek S_2 = babc.
- S_3 by mohl být rovný T, protože T' = ababc je získán odstraněním čtvrtého znaku c z S_3 = abacbc.
- S_4 by mohl být rovný T, protože T' = ababc je získán změnou třetího znaku d v S_4 = abdbc na b.
- S_5 nemůže být rovný T, protože pokud vezmeme S_5 = abbac jako T, pak T' = ababc nesplňuje žádnou ze čtyř podmínek zadání.

Ukázkový vstup 2

1 aoki
takahashi

Ukázkový výstup 2

0

Ukázkový vstup 3

9 atcoder
atoder
atcode
athqcoder
atcoder
tacoder
jttcoder
atoder
atceoder
atcoer

Ukázkový výstup 3

6
1 2 4 7 8 9

Takahashi poslal Aokimu řetězec T složený z malých anglických písmen. výsledek byl, že Aoki obdržel řetězec T' sestávající z malých anglických písmen.
T' mohlo být změněno z T. Konkrétně je známo, že platí přesně jedna z následujících čtyř podmínek.

- T' se rovná T.
- T' je řetězec získaný vložením jednoho malého anglického písmene na jednu pozici (včetně začátku a konce) v T.
- T' je řetězec získaný vymazáním jednoho znaku z T.
- T' je řetězec získaný změnou jednoho znaku v T na jiné malé anglické písmeno.

Dostanete řetězec T' přijatý Aoki a N řetězce S_1, S_2, \ldots, S_N sestávající z malých anglických písmen. Najděte všechny řetězce mezi S_1, S_2, \ldots, S_N, které by se mohly rovnat řetězci T zaslanému Takahashi.

Vstup

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

Výstup

Nechť (i_1, i_2, \ldots, i_K) je posloupnost indexů všech řetězců mezi S_1, S_2, \ldots, S_N, které by se mohly rovnat T, ve vzestupném pořadí.
Vytiskněte délku K této sekvence a samotnou sekvenci v následujícím formátu:
K
i_1 i_2 \ldots i_K

Omezení

- N je celé číslo.
- 1 \leq N \leq 5 \times 10^5
- S_i a T' jsou řetězce délky mezi 1 a 5 \times 10^5včetně, skládající se z malých anglických písmen.
- Celková délka S_1, S_2, \ldots, S_N je nejvýše 5 \times 10^5.

Ukázkový vstup 1

5 ababc
ababc
babc
abacbc
abdbc
abbac

Ukázkový výstup 1

4
1 2 3 4

Mezi S_1, S_2, \ldots, S_5 jsou řetězce, které by se mohly rovnat T, S_1, S_2, S_3, S_4, jak je vysvětleno níže.

- S_1 se může rovnat T, protože T' = ababc se rovná S_1 = ababc.
- S_2 by se mohlo rovnat T, protože T' = ababc získáme vložením písmene a na začátek S_2 = babc.
- S_3 by se mohlo rovnat T, protože T' = ababc se získá vymazáním čtvrtého znaku c z S_3 = abacbc.
- S_4 se může rovnat T, protože T' = ababc se získá změnou třetího znaku d v S_4 = abdbc na b.
- S_5 se nemůže rovnat T, protože pokud vezmeme S_5 = abbac jako T, pak T' = ababc nesplňuje žádnou ze čtyř podmínek v zadání úlohy.

Ukázkový vstup 2

1 aoki
takahashi

Ukázkový výstup 2

0

Ukázkový vstup 3

9 kodér
atoder
atcode
athqcoder
atcoder
tacoder
jttcoder
atoder
atceoder
atcoer

Ukázkový výstup 3

6
1 2 4 7 8 9

Takahashi poslal Aokimu řetězec T složený z malých anglických písmen. Výsledkem bylo, že Aoki obdržel řetězec T' sestávající z malých anglických písmen.
T' mohlo být změněno z T. Konkrétně je známo, že platí přesně jedna z následujících čtyř podmínek.

- T' se rovná T.
- T' je řetězec získaný vložením jednoho malého anglického písmene na jednu pozici (možná začátek a konec) v T.
- T' je řetězec získaný vymazáním jednoho znaku z T.
- T' je řetězec získaný změnou jednoho znaku v T na jiné malé anglické písmeno.

Dostanete řetězec T' přijatý Aoki a N řetězce S_1, S_2, \ldots, S_N sestávající z malých anglických písmen. Najděte všechny řetězce mezi S_1, S_2, \ldots, S_N, které by se mohly rovnat řetězci T zaslanému Takahashi.

Vstup

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

Výstup

Nechť (i_1, i_2, \ldots, i_K) je posloupnost indexů všech řetězců mezi S_1, S_2, \ldots, S_N, které by se mohly rovnat T, ve vzestupném pořadí.
Vytiskněte délku K této sekvence a samotnou sekvenci v následujícím formátu:
K
i_1 i_2 \ldots i_K

Omezení

- N je celé číslo.
- 1 \leq N \leq 5 \times 10^5
- S_i a T' jsou řetězce délky mezi 1 a 5 \times 10^5 včetně obou hranic obou hranic, skládající se z malých anglických písmen.
- Celková délka S_1, S_2, \ldots, S_N je nejvýše 5 \times 10^5.

Ukázkový vstup 1

5 ababc
ababc
babc
abacbc
abdbc
abbac

Ukázkový výstup 1

4
1 2 3 4

Mezi S_1, S_2, \ldots, S_5 jsou řetězce, které by se mohly rovnat T, S_1, S_2, S_3, S_4, jak je vysvětleno níže.

- S_1 se může rovnat T, protože T' = ababc se rovná S_1 = ababc.
- S_2 by se mohlo rovnat T, protože T' = ababc získáme vložením písmene a na začátek S_2 = babc.
- S_3 by se mohlo rovnat T, protože T' = ababc se získá vymazáním čtvrtého znaku c z S_3 = abacbc.
- S_4 se může rovnat T, protože T' = ababc se získá změnou třetího znaku d v S_4 = abdbc na b.
- S_5 se nemůže rovnat T, protože pokud vezmeme S_5 = abbac jako T, pak T' = ababc nesplňuje žádnou ze čtyř podmínek v zadání úlohy.

Ukázkový vstup 2

1 aoki
takahashi

Ukázkový výstup 2

0

Ukázkový vstup 3

9 atcoder
atoder
atcode
athqcoder
atcoder
tacoder
jttcoder
atoder
atceoder
atcoer

Ukázkový výstup 3

6
1 2 4 7 8 9


Máte zadaný řetězec S o délce N skládající se z číslic. Najděte počet čtvercových čísel, které lze získat interpretací permutace S jako dekadického čísla. Formálněji, vyřešte následující.

Nechte s _ i být číslem odpovídajícím i-té číslici (1\leq i\leq N) od začátku S. Najděte počet čtvercových čísel, které lze reprezentovat jako \displaystyle \sum _ {i=1} ^ N s _ {p _ i}10 ^ {N-i} s permutací P=(p _ 1,p _ 2,\ldots,p _ N) z (1, \dots, N).

Vstup

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

Výstup

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

Omezení

- 1\leq N\leq 13
- S je řetězec délky N skládající se z číslic.
- N je celé číslo.

Ukázkový vstup 1

4
4320

Ukázkový výstup 1

2

Pro \( P = (4, 2, 3, 1) \) máme \( s_4 \cdot 10^3 + s_2 \cdot 10^2 + s_3 \cdot 10^1 + s_1 = 324 = 18^2 \).
Pro \( P = (3, 2, 4, 1) \) máme \( s_3 \cdot 10^3 + s_2 \cdot 10^2 + s_4 \cdot 10^1 + s_1 = 2304 = 48^2 \).
Žádná jiná permutace nevede k čtvercovým číslům, takže byste měli vytisknout \( 2 \).

Ukázkový vstup 2

3
010

Ukázkový výstup 2

2

Pro P=(1,3,2) nebo P=(3,1,2) máme \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=1=1 ^ 2. Pro P=(2,1,3) nebo P=(2,3,1) máme \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=100=10 ^ 2. Žádné další permutace nevedou k čtvercovým číslům, takže byste měli vytisknout 2.
Všimněte si, že různé permutace nejsou rozlišovány, pokud vedou ke stejnému číslu.

Ukázkový vstup 3

13
8694027811503

Ukázkový výstup 3

840

Dostanete řetězec S délky N sestávající z číslic.
Najděte počet čtvercových čísel, která lze získat interpretací permutace S jako dekadického celého čísla.
Formálněji vyřešte následující.
Nechť s _ i je číslo odpovídající i-té číslici (1\leq i\leq N) od začátku S.
Najděte počet čtvercových čísel, která lze znázornit jako \displaystyle \sum _ {i=1} ^ N s _ {p _ i}10 ^ {N-i} s permutací P=(p _ 1,p _ 2,\ ldots,p _ N) z (1, \tečky, N).

Vstup

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

Výstup

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

Omezení

- 1\leq N\leq 13
- S je řetězec délky N sestávající z číslic.
- N je celé číslo.

Ukázkový vstup 1

4
4320

Ukázkový výstup 1

2

Pro P=(4,2,3,1) máme s _ 4\times10 ^ 3+s _ 2\times10 ^ 2+s _ 3\times10 ^ 1+s _ 1=324=18 ^ 2.
Pro P=(3,2,4,1) máme s _ 3\times10 ^ 3+s _ 2\times10 ^ 2+s _ 4\times10 ^ 1+s _ 1=2304=48 ^ 2.
Žádné další permutace nevedou k čtvercovým číslům, takže byste měli vytisknout 2.

Ukázkový vstup 2

3
010

Ukázkový výstup 2

2

Pro P=(1,3,2) nebo P=(3,1,2) máme \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=1=1 ^ 2.
Pro P=(2,1,3) nebo P=(2,3,1) máme \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=100=10 ^ 2.
Žádné další permutace nevedou k čtvercovým číslům, takže byste měli vytisknout 2.
Všimněte si, že různé permutace se nerozlišují, pokud mají za následek stejné číslo.

Ukázkový vstup 3

13
8694027811503

Ukázkový výstup 3

840

Dostanete řetězec S délky N sestávající z číslic.
Najděte počet čtvercových čísel, která lze získat interpretací permutace S jako dekadického celého čísla.
Formálněji vyřešte následující.
Nechť s _ i je číslo odpovídající i-té číslici (1\leq i\leq N) od začátku S.
Najděte počet čtvercových čísel, která lze reprezentovat jako \displaystyle \sum _ {i=1} ^ N s _ {p _ i}10 ^ {N-i} s permutací P=(p _ 1,p _ 2,\ ldots,p _ N) z (1, \tečky, N).

Vstup

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

Výstup

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

Omezení

- 1\leq N\leq 13
- S je řetězec délky N sestávající z číslic.
- N je celé číslo.

Ukázkový vstup 1

4
4320

Ukázkový výstup 1

2

Pro P=(4,2,3,1) máme s _ 4\times10 ^ 3+s _ 2\times10 ^ 2+s _ 3\times10 ^ 1+s _ 1=324=18 ^ 2.
Pro P=(3,2,4,1) máme s _ 3\times10 ^ 3+s _ 2\times10 ^ 2+s _ 4\times10 ^ 1+s _ 1=2304=48 ^ 2.
Žádné další permutace nevedou k čtvercovým číslům, takže byste měli vytisknout 2.

Ukázkový vstup 2

3
010

Ukázkový výstup 2

2

Pro P=(1,3,2) nebo P=(3,1,2) máme \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=1=1 ^ 2.
Pro P=(2,1,3) nebo P=(2,3,1) máme \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=100=10 ^ 2.
Žádné další permutace nevedou k čtvercovým číslům, takže byste měli vytisknout 2.
Všimněte si, že různé permutace se nerozlišují, pokud mají za následek stejné číslo.

Ukázkový vstup 3

13
8694027811503

Ukázkový výstup 3

840


Je vám dáno N řetězců S_1, S_2, \ldots, S_N sestávajících z malých anglických písmen a řetězec T sestávající z malých anglických písmen.
Existuje N^2 párů (i, j) celých čísel mezi 1 a N včetně. Vytiskněte mezi nimi počet párů, které splňují následující podmínku.

- Zřetězení S_i a S_j v tomto pořadí obsahuje T jako (ne nutně souvislou) podsekvenci.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- N je celé číslo.
- 1 \leq N \leq 5 \krát 10^5
- S_i a T jsou řetězce délky 1 až 5 \krát 10^5 včetně, skládající se z malých anglických písmen.
- Celková délka S_1, S_2, \ldots, S_N je nejvýše 5 \krát 10^5.

Ukázkový vstup 1

3 bac
abba
bcb
aaca

Ukázkový výstup 1

3

Dvojice (i, j), které splňují podmínku v problému, jsou (1, 2), (1, 3), (2, 3), jak je vidět níže.

- Pro (i, j) = (1, 2), zřetězení abbabcb S_1 a S_2 v tomto pořadí obsahuje bac jako podsekvenci.
- Pro (i, j) = (1, 3), zřetězení abbaaaca S_1 a S_3 v tomto pořadí obsahuje bac jako podsekvenci.
- Pro (i, j) = (2, 3), zřetězení bcbaaca S_2 a S_3 v tomto pořadí obsahuje bac jako podsekvenci.

Ukázkový vstup 2

5 xx
x
x
x
x
x

Ukázkový výstup 2

25

Ukázkový vstup 3
1 y
x

Ukázkový výstup 3

0

Ukázkový vstup 4

10 ms
mkgn
m
hlms
vmsle
mxsm
nnzdhi
umsavxlb
ffnsybomr
yvmm
naouel

Ukázkový výstup 4

68

Je dáno N řetězců S_1, S_2, \ldots, S_N složených z malých anglických písmen a řetězec T složený z malých anglických písmen.
Existuje N^2 dvojic (i, j) celých čísel mezi 1 a N včetně. Vypište počet dvojic mezi nimi, které splňují následující podmínku.

- Spojení S_i a S_j v tomto pořadí obsahuje T jako (ne nutně souvislou) podřetězec.

Vstup

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

Výstup

Vypište odpověď.

Omezení

- N je celé číslo.
- 1 \leq N \leq 5 \times 10^5
- S_i a T jsou řetězce o délce 1 až 5 \krát 10^5 včetně, složené z malých anglických písmen.
- Celková délka S_1, S_2, \ldots, S_N je nejvýše 5 \times 10^5.

Vzorový vstup 1

3 bac
abba
bcb
aaca

Vzorový výstup 1

3

Dvojice (i, j), které splňují podmínku v zadání úlohy, jsou (1, 2), (1, 3), (2, 3), jak je vidět níže.

- Pro (i, j) = (1, 2) obsahuje spojnice abbabcb S_1 a S_2 v tomto pořadí bac jako podřetězec.
- Pro (i, j) = (1, 3) obsahuje spojnice abbaaaca S_1 a S_3 v tomto pořadí bac jako podřetězec.
- Pro (i, j) = (2, 3) obsahuje součet bcbaaca S_2 a S_3 v tomto pořadí bac jako podřetězec.

Vzorový vstup 2

5 xx
x
x
x
x
x

Vzorový výstup 2

25

Vzorový vstup 3

1 y
x

Vzorový výstup 3

0

Vzorový vstup 4

10 ms
mkgn
m
hlms
vmsle
mxsm
nnzdhi
umsavxlb
ffnsybomr
yvmm
naouel

Vzorový výstup 4

68

Je vám přiděleno N řetězců S_1, S_2, \ldots S_N skládajících se z malých anglických písmen a řetězec T skládající se z malých anglických písmen.
Existuje N^2 párů (i, j) celých čísel mezi 1 a N včetně. Vytiskne se počet párů mezi nimi, které splňují následující podmínku.

- Zřetězení S_i a S_j v tomto pořadí obsahuje T jako (ne nutně souvislou) podsekvenci.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- N je celé číslo.
- 1 \leq N \leq 5 \times 10^5
- S_i a T jsou řetězce o délce 1 až 5 \times 10^5 včetně, skládající se z malých anglických písmen.
- Celková délka S_1, S_2, \ldots, S_N je nejvýše 5 \times  10^5.

Vzorový vstup 1

3 bac
abba
bcb
aaca

Ukázkový výstup 1

3

Páry (i, j), které splňují podmínku v popisu problému, jsou (1, 2), (1, 3), (2, 3), jak je vidět níže.

- Pro (i, j) = (1, 2) obsahuje zřetězení abbabcb S_1 a S_2 v tomto pořadí bac jako podposloupnost.
- Pro (i, j) = (1, 3) obsahuje zřetězení abbaaaca S_1 a S_3 v tomto pořadí bac jako podposloupnost.
- Pro (i, j) = (2, 3) obsahuje zřetězení bcbaaca S_2 a S_3 v tomto pořadí bac jako podposloupnost.

Vzorkovací vstup 2

5 xx
x
x
x
x
x

Ukázkový výstup 2

25

Vzorkovací vstup 3

1 y
x

Ukázkový výstup 3

0

Vzorkovací vstup 4

10 ms
mkgn
m
hlms
vmsle
mxsm
nnzdhi
umsavxlb
ffnsybomr
yvmm
naouel

Ukázkový výstup 4

68