V kruhu jsou červené a modré dlaždice. Máte k dispozici pole celých čísel barev. Barvu dlaždice i představuje pole colors[i]:

colors[i] == 0 znamená, že dlaždice i je červená.
colors[i] == 1 znamená, že dlaždice i je modrá.

Každé 3 sousedící dlaždice v kruhu se střídavými barvami (prostřední dlaždice má jinou barvu než její levá a pravá dlaždice) se nazývají střídavá skupina.
Vraťte počet střídajících se skupin.
Všimněte si, že protože barvy představují kruh, první a poslední dlaždice se považují za sousední.

Příklad 1:

Vstup: colors = [1,1,1]
Výstup: 0
Vysvětlení:

Příklad 2:

Vstup: colors = [0,1,0,0,1]
Výstup: 3
Vysvětlení:

Střídavé skupiny:

Omezení:

3 <= colors.length <= 100
0 <= colors[i] <= 1

Existuje kruh z dlaždic červené a modré barvy. Je vám dáno pole celých čísel colors. Barva dlaždice i je reprezentována colors[i]:

colors[i] == 0 znamená, že dlaždice i je červená.
colors[i] == 1 znamená, že dlaždice i je modrá.

Každé 3 sousedící dlaždice v kruhu s střídajícími se barvami (prostřední dlaždice má jinou barvu než její levá a pravá dlaždice) tvoří střídavou skupinu.
Vraťte počet střídavých skupin.
Všimněte si, že jelikož colors představuje kruh, první a poslední dlaždice se považují za sousední.

Příklad 1:

Vstup: colors = [1,1,1]
Výstup: 0
Vysvětlení:

Příklad 2:

Vstup: colors = [0,1,0,0,1]
Výstup: 3
Vysvětlení:

Střídavé skupiny:

Omezení:

3 <= colors.length <= 100
0 <= colors[i] <= 1

K dispozici je kruh červených a modrých dlaždic. Dostanete pole barev celých čísel. Barva dlaždice i je reprezentována barvami[i]:

colors[i] == 0 znamená, že dlaždice i je červená.
colors[i] == 1 znamená, že dlaždice I je modrý.

Každé 3 sousední kameny v kruhu se střídajícími se barvami (prostřední dlaždice má jinou barvu než její levá a pravá dlaždice) se nazývají střídající se skupiny.
Vrátíte počet střídajících se skupin.
Všimněte si, že protože barvy tvoří kruh, první a poslední dlaždice jsou považovány za sousedící.

Příklad 1:

Vstup: colors = [1,1,1]
Výstup: 0
Vysvětlení:

Příklad 2:

Vstup: colors = [0,1,0,0,1]
Výstup: 3
Vysvětlení:

Střídající se skupiny:

Omezení:

3 <= colors.length <= 100
0 <= colors[i] <= 1


Je vám dáno celočíselné pole nepřátelEnergie, které označuje energetické hodnoty různých nepřátel.
Dostanete také celočíselné číslo currentEnergy označující množství energie, které jste původně měli.
Začínáte s 0 body a všichni nepřátelé nejsou zpočátku označeni.
Pro získání bodů můžete provést jednu z následujících operací nulakrát nebo vícekrát:

Vyberte neoznačeného nepřítele, i, takového, že currentEnergy >= enemyEnergies[i]. Výběrem této možnosti:

Získáte 1 bod.
Tvá energie je snížena energií nepřítele, tj. currentEnergy = currentEnergy - enemyEnergies[i].

Pokud máte alespoň 1 bod, můžete si vybrat neoznačeného nepřítele, tj. výběrem této možnosti:

Tvá energie se zvyšuje o energii nepřítele, tj. currentEnergy = currentEnergy + enemyEnergies[i].
Nepřítel i je označen.

Vrátí celé číslo označující maximální počet bodů, které můžete nakonec získat optimálním provedením operací.

Příklad 1:

Vstup: enemyEnergies = [3,2,2], currentEnergy = 2
Výstup: 3
Vysvětlení:
K získání 3 bodů, což je maximum, lze provést následující operace:

První operace na nepřítele 1: body se zvyšují o 1 a energie se snižuje o 2. Takže points = 1 a currentEnergy = 0.
Druhá operace na nepřítele 0: energie se zvýší o 3 a nepřítel 0 je označen. Takže points = 1, currentEnergy = 3 a marked enemies = [0].
První operace na nepřítele 2: body se zvyšují o 1, a currentEnergy se snižuje o 2. Takže points = 2, currentEnergy = 1 a marked enemies = [0].
Druhá operace na nepřítele 2: energie se zvyšuje o 2 a nepřítel 2 je označen. Takže points = 2, currentEnergy = 3 a marked enemies = [0, 2].
První operace na nepřítele 1: body se zvyšují o 1 a energie se snižuje o 2. Takže points = 3, currentEnergy = 1 a marked enemies = [0, 2].

Příklad 2:

Vstup: enemyEnergies = [2], currentEnergy = 10
Výstup: 5
Vysvětlení:
Provedení první operace 5x na nepřítele 0 má za následek maximální počet bodů.

Omezení:

1 <= enemyEnergies.length <= 10^5
1 <= enemyEnergies[i] <= 10^9
0 <= currentEnergy <= 10^9

Máte dané integer pole enemyEnergies, které označuje hodnoty energie různých nepřátel. Také máte dané celé číslo currentEnergy, které označuje množství energie, kterou máte na začátku. Začínáte s 0 body a všichni nepřátelé jsou zpočátku neoznačeni. Můžete provádět jednu z následujících operací nulakrát nebo vícekrát, abyste získali body:

Vyberte neoznačeného nepřítele, i, tak, že currentEnergy >= enemyEnergies[i]. Výběrem této možnosti:

Získáte 1 bod.
Vaše energie se sníží o energii nepřítele, tj. currentEnergy = currentEnergy - enemyEnergies[i].

Pokud máte alespoň 1 bod, můžete si vybrat neoznačeného nepřítele, i. Výběrem této možnosti:

Vaše energie se zvýší o energii nepřítele, tj. currentEnergy = currentEnergy + enemyEnergies[i].
Nepřítel i je označen.

Vrátíte celé číslo označující maximální body, které můžete na konci získat optimálním provedením operací.

Příklad 1:

Vstup: enemyEnergies = [3,2,2], currentEnergy = 2
Výstup: 3
Vysvětlení:
Následující operace lze provést k získání 3 bodů, což je maximum:

První operace na nepříteli 1: body se zvýší o 1 a currentEnergy se sníží o 2. Takže, points = 1 a currentEnergy = 0.
Druhá operace na nepříteli 0: currentEnergy se zvýší o 3 a nepřítel 0 je označen. Takže, points = 1, currentEnergy = 3 a označení nepřátelé = [0].
První operace na nepříteli 2: body se zvýší o 1 a currentEnergy se sníží o 2. Takže, points = 2, currentEnergy = 1 a označení nepřátelé = [0].
Druhá operace na nepříteli 2: currentEnergy se zvýší o 2 a nepřítel 2 je označen. Takže, points = 2, currentEnergy = 3 a označení nepřátelé = [0, 2].
První operace na nepříteli 1: body se zvýší o 1 a currentEnergy se sníží o 2. Takže, points = 3, currentEnergy = 1 a označení nepřátelé = [0, 2].

Příklad 2:

Vstup: enemyEnergies = [2], currentEnergy = 10
Výstup: 5
Vysvětlení:
Provedení první operace 5krát na nepříteli 0 vede k maximálnímu počtu bodů.

Omezení:

1 <= enemyEnergies.length <= 10^5
1 <= enemyEnergies[i] <= 10^9
0 <= currentEnergy <= 10^9

Dostanete celočíselné pole nepřátelské energie označující energetické hodnoty různých nepřátel.
Dostanete také celé číslo currentEnergy označující množství energie, které máte na začátku.
Začínáte s 0 body a všichni nepřátelé jsou zpočátku neoznačení.
Pro získání bodů můžete provést jednu z následujících operací nula nebo vícekrát:

Vyberte neoznačeného nepřítele, i, takový, že currentEnergy >= enemyEnergies[i]. Výběrem této mořnosti:

Získáváte 1 bod.
Vaše energie je snížena o energii nepřítele, tj. currentEnergy = currentEnergy - enemyEnergies[i].

Pokud máte alespoň 1 bod, můžete si vybrat neoznačeného nepřítele, Výběrem této mořnosti:

Vaše energie se zvyšuje o energii nepřítele, tj.currentEnergy = currentEnergy + enemyEnergies[i].
Nepřítel i je označen.

Vraťte celé číslo označující maximální počet bodů, které můžete na konci získat optimálním prováděním operací.

Příklad 1:

Vstup: enemyEnergies = [3,2,2], currentEnergy = 2
Výstup: 3
Vysvětlení:
Pro získání 3 bodů, což je maximum, lze provést následující operace:

První operace na nepřítele 1: body se zvýší o 1 a aktuální energie se sníží o 2. Body = 1 a aktuální energie = 0.
Druhá operace na nepřítele 0: aktuální energie se zvýší o 3 a označí se nepřítel 0. Takže body = 1, aktuální energie = 3 a označení nepřátelé = [0].
První operace na nepřítele 2: body se zvýší o 1 a aktuální energie se sníží o 2. Takže body = 2, aktuální energie = 1 a označení nepřátelé = [0].
Druhá operace na nepřítele 2: aktuální energie se zvýší o 2 a nepřítel 2 je označen. Takže body = 2, aktuální energie = 3 a označení nepřátelé = [0, 2].
První operace na nepřítele 1: body se zvýší o 1 a aktuální energie se sníží o 2. Takže body = 3, aktuální energie = 1 a označení nepřátelé = [0, 2].

Příklad 2:

Vstup: enemyEnergies = [2], currentEnergy = 10
Výstup: 5
Vysvětlení:
Provedením první operace 5krát na nepřítele 0 získáte maximální počet bodů.

Omezení:

1 <= enemyEnergies.length <= 10^5
1 <= enemyEnergies[i] <= 10^9
0 <= currentEnergy <= 10^9


Je-li dáno pole celých čísel num a celé číslo k, vrátí počet podpolí num, kde bitový AND prvků podpole se rovná k.

Příklad 1:

Vstup: nums = [1,1,1], k = 1
Výstup: 6
Vysvětlení:
Všechna podpole obsahují pouze jedničky.

Příklad 2:

Vstup: nums = [1,1,2], k = 1
Výstup: 3
Vysvětlení:
Podpole s hodnotou AND 1 jsou: [1,1,2], [1,1,2], [1,1,2].

Příklad 3:

Vstup: nums = [1,2,3], k = 2
Výstup: 2
Vysvětlení:
Podpole s hodnotou AND 2 jsou: [1,2,3], [1,2,3].

Omezení:

1 <= nums.length <= 10^5
0 <= nums[i], k <= 10^9

Máme-li dáno pole celých čísel nums a celé číslo k, vrátí počet podpolí nums, kde bitový operátor AND prvků podpole je roven k.

Příklad 1:

Vstup: nums = [1,1,1], k = 1
Výstup: 6
Vysvětlení:
Všechna podpole obsahují pouze jedničky.

Příklad 2:

Vstup: nums = [1,1,2], k = 1
Výstup: 3
Vysvětlení:
Podpole s hodnotou AND 1 jsou: [1,1,2], [1,1,2], [1,1,2].

Příklad 3:

Vstup: nums = [1,2,3], k = 2
Výstup: 2
Vysvětlení:
Podpole s hodnotou AND 2 jsou: [1,2,3], [1,2,3].

Omezení:

1 <= nums.length <= 10^5
0 <= nums[i], k <= 10^9


Máte dvě kladné celá čísla x a y, která představují počet mincí o hodnotách 75 a 10, resp.
Alice a Bob hrají hru. Každý tah, začínající Alicí, musí hráč vybrat mince v celkové hodnotě 115. Pokud hráč není schopen to udělat, prohrává hru.
Vraťte jméno hráče, který vyhraje hru, pokud oba hráči hrají optimálně.

Příklad 1:

Vstup: x = 2, y = 7
Výstup: "Alice"
Vysvětlení:
Hra končí v jediném tahu:

Alice sebere 1 minci s hodnotou 75 a 4 mince s hodnotou 10.

Příklad 2:

Vstup: x = 4, y = 11
Výstup: "Bob"
Vysvětlení:
Hra končí ve dvou tazích:

Alice sebere 1 minci s hodnotou 75 a 4 mince s hodnotou 10.
Bob sebere 1 minci s hodnotou 75 a 4 mince s hodnotou 10.

Omezení:

1 <= x, y <= 100

Dostanete dvě kladná celá čísla x a y, která označují počet mincí s hodnotami 75 a 10.
Alice a Bob hrají hru. Každý tah, počínaje Alicí, musí hráč sebrat mince v celkové hodnotě 115. Pokud to hráč nedokáže, prohrává hru.
Vraťte jméno hráče, který vyhrál hru, pokud oba hráči hrají optimálně.

Příklad 1:

Vstup: x = 2, y = 7
Výstup: "Alice"
Vysvětlení:
Hra končí v jediném tahu:

Alice vybírá 1 minci s hodnotou 75 a 4 mince s hodnotou 10.

Příklad 2:

Vstup: x = 4, y = 11
Výstup: "Bob"
Vysvětlení:
Hra končí ve 2 kolech:

Alice vybírá 1 minci s hodnotou 75 a 4 mince s hodnotou 10.
Bob vybere 1 minci s hodnotou 75 a 4 mince s hodnotou 10.

Omezení:

1 <= x, y <= 100


Je vám dán řetězec s.
Následující proces můžete provést na s libovolněkrát:

Vyberte index i v řetězci tak, aby nalevo od indexu i byl alespoň jeden znak, který se rovnal s[i], a napravo alespoň jeden znak, který se také rovnal s[i].
Odstraňte nejbližší znak nalevo od indexu i, který se rovná s[i].
Odstraňte nejbližší znak napravo od indexu i, který se rovná s[i].

Vraťte minimální délku konečného řetězce s, které můžete dosáhnout.

Příklad 1:

Vstup: s = "abaacbcbb"
Výstup: 5
Vysvětlení:
Provádíme následující operace:

Zvolte index 2, poté odstraňte znaky na indexech 0 a 3. Výsledný řetězec je s = "bacbcbb".
Vyberte index 3, poté odstraňte znaky na indexech 0 a 5. Výsledný řetězec je s = "acbcb".

Příklad 2:

Vstup: s = "aa"
Výstup: 2
Vysvětlení:
Nemůžeme provádět žádné operace, takže vracíme délku původního řetězce.

Omezení:

1 <=  s.length <= 2 * 10^5
s se skládá pouze z malých anglických písmen.

Mějme zadaný řetězec s.
Na řetězci s můžeš provést následující proces libovolně mnohokrát:

Vyber index i v řetězci tak, že nalevo od indexu i je alespoň jeden znak stejný jako s[i] a napravo také alespoň jeden stejný jako s[i].
Odstraň nejbližší znak nalevo od indexu i, který je stejný jako s[i].
Odstraň nejbližší znak napravo od indexu i, který je stejný jako s[i].

Vrať minimální délku výsledného řetězce s, jakou můžeš dosáhnout.

Příklad 1:

Vstup: s = "abaacbcbb"
Výstup: 5
Vysvětlení:
Provádíme následující operace:

Vyber index 2, pak odstraň znaky na indexech 0 a 3. Výsledný řetězec je s = "bacbcbb".
Vyber index 3, pak odstraň znaky na indexech 0 a 5. Výsledný řetězec je s = "acbcb".

Příklad 2:

Vstup: s = "aa"
Výstup: 2
Vysvětlení:
Nemůžeme provést žádné operace, takže vracíme délku původního řetězce.

Omezení:

1 <= délka s <= 2 * 10^5
s se skládá pouze z malých písmen anglické abecedy.

Je vám dán řetězec s.
Následující postup můžete provést libovolněkrát:

Zvolte index i v řetězci tak, aby nalevo od indexu i byl alespoň jeden znak, který se rovná s[i], a alespoň jeden znak vpravo, který je také roven s[i].
Odstraňte nejbližší znak vlevo od indexu i, který je roven s[i].
Odstraňte nejbližší znak vpravo od indexu i, který je roven s[i].

Vrátí minimální délku konečných řetězců, které můžete dosáhnout.

Příklad 1:

Vstup: s = "abaacbcbb"
Výstup: 5
Vysvětlení:
Provádíme následující operace:

Zvolte rejstřík 2 a pak odstraňte znaky v indexech 0 a 3. Výsledný řetězec je s = "bacbcbb".
Zvolte rejstřík 3 a pak odstraňte znaky v indexech 0 a 5. Výsledný řetězec je s = "acbcb".

Příklad 2:

Vstup: s = "aa"
Výstup: 2
Vysvětlení:
Nemůžeme provádět žádné operace, proto vrátíme délku původního řetězce.

Omezení:

1 <= s.length <= 2 * 10^5
s se skládá pouze z malých anglických písmen.


Máte dané celočíselné pole nums velikosti n, kde n je sudé, a celé číslo k.
Můžete provést některé změny v poli, kde při jedné změně můžete nahradit libovolný prvek v poli jakýmkoliv celým číslem z rozsahu od 0 do k.
Potřebujete provést některé změny (případně žádné) tak, aby výsledné pole splňovalo následující podmínku:

Existuje celé číslo X tak, že abs(a[i] - a[n - i - 1]) = X pro všechny (0 <= i < n).

Vraťte minimální počet změn potřebných k splnění výše uvedené podmínky.

Příklad 1:

Vstup: nums = [1,0,1,2,4,3], k = 4
Výstup: 2
Vysvětlení:
Můžeme provést následující změny:

Nahradit nums[1] číslem 2. Výsledné pole je nums = [1,2,1,2,4,3].
Nahradit nums[3] číslem 3. Výsledné pole je nums = [1,2,1,3,4,3].

Celé číslo X bude 2.

Příklad 2:

Vstup: nums = [0,1,2,3,3,6,5,4], k = 6
Výstup: 2
Vysvětlení:
Můžeme provést následující operace:

Nahradit nums[3] číslem 0. Výsledné pole je nums = [0,1,2,0,3,6,5,4].
Nahradit nums[4] číslem 4. Výsledné pole je nums = [0,1,2,0,4,6,5,4].

Celé číslo X bude 4.

Omezení:

2 <= n == nums.length <= 10^5
n je sudé.
0 <= nums[i] <= k <= 10^5

Je vám dáno celočíselné pole s čísly velikosti n, kde n je sudé, a celé číslo k.
Na poli můžete provádět nějaké změny, kdy při jedné změně můžete nahradit libovolný prvek v poli libovolným celým číslem v rozsahu od 0 do k.
Je třeba provést některé změny (možná žádné) tak, aby výsledné pole splňovalo následující podmínku:

Existuje celé číslo X takové, že abs(a[i] - a[n - i - 1]) = X pro všechny (0 <= i < n).

Vrátí minimální počet změn potřebných ke splnění výše uvedené podmínky.

Příklad 1:

Vstup: nums = [1,0,1,2,4,3], k = 4
Výstup: 2
Vysvětlení:
Můžeme provést následující změny:

Nahraďte nums [1] číslem 2. Výsledná matice je nums = [1,2,1,2,4,3].
Nahraďte nums[3] číslem 3. Výsledná matice je nums = [1,2,1,3,4,3].

Celé číslo X bude 2.

Příklad 2:

Vstup: nums = [0,1,2,3,3,6,5,4], k = 6
Výstup: 2
Vysvětlení:
Můžeme provádět následující operace:

Nahraďte nums[3] za 0. Výsledná matice je nums = [0,1,2,0,3,6,5,4].
Nahraďte nums[4] za 4. Výsledná matice je nums = [0,1,2,0,4,6,5,4].

Celé číslo X bude 4.

Omezení:

2 <= n == nums.length <= 10^5
n je sudé.
0 <= nums[i] <= k <= 10^5

Dostanete celočíselné pole čísel o velikosti n, kde n je sudé, a celé číslo k.
Můžete provést některé změny na poli, kde jednou změnou můžete nahradit jakýkoli prvek v poli libovolným celým číslem v rozsahu od 0 do k.
Musíte provést nějaké změny (možná žádné), aby konečné pole splňovalo následující podmínku:

Existuje celé číslo X takové, že abs(a[i] - a[n - i - 1]) = X pro všechna (0 <= i < n).

Vraťte minimální počet změn požadovaný ke splnění výše uvedené podmínky.

Příklad 1:

Vstup: nums = [1,0,1,2,4,3], k = 4
Výstup: 2
Vysvětlení:
Můžeme provést následující změny:

Nahraďte nums[1] číslem 2. Výsledné pole je nums = [1,2,1,2,4,3].
Nahraďte nums[3] číslem 3. Výsledné pole je nums = [1,2,1,3,4,3].

Celé číslo X bude 2.

Příklad 2:

Vstup: nums = [0,1,2,3,3,6,5,4], k = 6
Výstup: 2
Vysvětlení:
Můžeme provádět následující operace:

Nahraďte nums[3] 0. Výsledné pole je nums = [0,1,2,0,3,6,5,4].
Nahraďte nums[4] číslem 4. Výsledné pole je nums = [0,1,2,0,4,6,5,4].

Celé číslo X bude 4.

Omezení:

2 <= n == počet.length <= 10^5
n je sudé.
0 <= nums[i] <= k <= 10^5


Je zadáno celé číslo n představující počet hráčů ve hře a 2D pole pick, kde pick[i] = [x_i, y_i] představuje, že hráč x_i si vybral míček barvy y_i.
Hráč i vyhrává hru, pokud vybere striktně více než i míčků stejné barvy. Jinými slovy,

Hráč 0 vyhrává, pokud si vybere libovolný míček.
Hráč 1 vyhrává, pokud si vybere alespoň dva míčky stejné barvy.
...
Hráč i vyhrává, pokud vybere alespoň + 1 míčků stejné barvy.

Vraťte počet hráčů, kteří vyhráli hru.
Pamatujte, že hru může vyhrát více hráčů.

Příklad 1:

Vstup: n = 4, pick = [[0,0],[1,0],[1,0],[2,1],[2,1],[2,0]].
Výstup: 2
Vysvětlení:
Hráč 0 a hráč 1 vyhráli, zatímco hráči 2 a 3 nevyhráli.

Příklad 2:

Vstup: n = 5, výběr = [[1,1],[1,2],[1,3],[1,4]].
Výstup: 0
Vysvětlení:
Žádný hráč nevyhrál.

Příklad 3:

Vstup: n = 5, výběr = [[1,1],[2,4],[2,4],[2,4]].
Výstup: 1
Vysvětlení:
Hráč 2 vyhrál hru, když vybral 3 kuličky s barvou 4.

Omezení:

2 <= n <= 10
1 <= pick.length <= 100
pick[i].length == 2
0 <= x_i <= n - 1
0 <= y_i <= 10

Dostanete celé číslo n představující počet hráčů ve hře a 2D pole tip, kde pick[i] = [x_i, y_i] představuje, že hráč x_i vybral kouli barvy y_i.
Hráč i vyhraje hru, pokud vybere přísně více než i koulí stejné barvy. jinými slovy,

Hráč 0 vyhraje, pokud vybere jakýkoli míč.
Hráč 1 vyhraje, pokud vybere alespoň dva míčky stejné barvy.
...
Hráč i vyhrává, pokud vybere alespoňi + 1 míčky stejné barvy.

Vraťte počet hráčů, kteří vyhráli hru.
Pamatujte, že hru může vyhrát více hráčů.

Příklad 1:

Vstup: n = 4, výběr = [[0,0],[1,0],[1,0],[2,1],[2,1],[2,0]]
Výstup: 2
Vysvětlení:
Hráč 0 a hráč 1 vyhrají hru, zatímco hráči 2 a 3 nevyhrají.

Příklad 2:

Vstup: n = 5, výběr = [[1,1],[1,2],[1,3],[1,4]]
Výstup: 0
Vysvětlení:
Hru nevyhraje žádný hráč.

Příklad 3:

Vstup: n = 5, výběr = [[1,1],[2,4],[2,4],[2,4]]
Výstup: 1
Vysvětlení:
Hráč 2 vyhraje hru výběrem 3 míčků s barvou 4.

Omezení:

2 <= n <= 10
1 <= délka výběru <= 100
výběr[i].length == 2
0 <= x_i <= n - 1
0 <= y_i <= 10


Je vám dána binární maticová mřížka m x n.
Řádek nebo sloupec je považován za palindromický, pokud jeho hodnoty jsou stejné dopředu i dozadu.
Můžete otočit libovolný počet buněk v mřížce od 0 do 1 nebo od 1 do 0.
Vraťte minimální počet buněk, které je třeba převrátit, aby byly všechny řádky palindromické nebo všechny sloupce palindromické.

Příklad 1:

Vstup: mřížka = [[1,0,0],[0,0,0],[0,0,1]]
Výstup: 2
Vysvětlení:

Převrácením zvýrazněných buněk se všechny řádky stanou palindromickými.

Příklad 2:

Vstup: mřížka = [[0,1],[0,1],[0,0]]
Výstup: 1
Vysvětlení:

Překlopením zvýrazněné buňky se všechny sloupce stanou palindromickými.

Příklad 3:

Vstup: mřížka = [[1],[0]]
Výstup: 0
Vysvětlení:
Všechny řádky jsou již palindromické.

Omezení:

m == mřížka.length
n == mřížka[i].length
1 <= m * n <= 2 * 10^5
0 <= mřížka[i][j] <= 1

Je vám dána binární maticová mřížka m x n.
Řádek nebo sloupec je považován za palindromický, pokud jeho hodnoty jsou stejné dopředu i dozadu.
Můžete otočit libovolný počet buněk v mřížce od 0 do 1 nebo od 1 do 0.
Vraťte minimální počet buněk, které je třeba převrátit, aby byly všechny řádky palindromické nebo všechny sloupce palindromické.

Příklad 1:

Vstup: grid = [[1,0,0],[0,0,0],[0,0,1]]
Výstup: 2
Vysvětlení:

Převrácením zvýrazněných buněk se všechny řádky stanou palindromickými.

Příklad 2:

Vstup:grid = [[0,1],[0,1],[0,0]]
Výstup: 1
Vysvětlení:

Překlopením zvýrazněné buňky se všechny sloupce stanou palindromickými.

Příklad 3:

Vstup: grid = [[1],[0]]
Výstup: 0
Vysvětlení:
Všechny řádky jsou již palindromické.

Omezení:

m == mřížka.length
n == mřížka[i].length
1 <= m * n <= 2 * 10^5
0 <= mřížka[i][j] <= 1

Je vám dán m x n binární matice grid.
Řada nebo sloupec je považován za palindromický, pokud jeho hodnoty čteme stejně dopředu i dozadu.
Můžete převrátit libovolný počet buněk v grid z 0 na 1 nebo z 1 na 0.
Vraťte minimální počet buněk, které je nutné převrátit, aby byly buď všechny řádky palindromické, nebo všechny sloupce palindromické.

Příklad 1:

Vstup: grid = [[1,0,0],[0,0,0],[0,0,1]]
Výstup: 2
Vysvětlení:

Převrácení zvýrazněných buněk způsobí, že všechny řádky budou palindromické.

Příklad 2:

Vstup: grid = [[0,1],[0,1],[0,0]]
Výstup: 1
Vysvětlení:

Převrácení zvýrazněné buňky způsobí, že všechny sloupce budou palindromické.

Příklad 3:

Vstup: grid = [[1],[0]]
Výstup: 0
Vysvětlení:
Všechny řádky jsou již palindromické.

Omezení:

m == grid.length
n == grid[i].length
1 <= m * n <= 2 * 10^5
0 <= grid[i][j] <= 1


Existuje neorientovaný strom s n uzly očíslovanými 0 až n - 1. Je dáno dvourozměrné celočíselné pole edges délky n - 1, kde edges[i] = [u_i, v_i] označuje, že mezi uzly u_i a v_i existuje ve stromu hrana.
Zpočátku jsou všechny uzly neoznačené. Pro každý uzel i:

Pokud je i liché, bude uzel označen v čase x, pokud s ním sousedí alespoň jeden uzel, který byl označen v čase x - 1.
Je-li i sudé, uzel bude označen v čase x, pokud k němu přiléhá alespoň jeden uzel, který byl označen v čase x - 2.

Vrátí pole times, kde times[i] je čas, kdy se označí všechny uzly ve stromu, pokud označíte uzel i v čase t = 0.
Všimněte si, že odpověď pro každý times[i] je nezávislá, tj. při označení uzlu i jsou všechny ostatní uzly neoznačené.

Příklad 1:

Vstup: edges = [[0,1],[0,2]]
Výstup: [2,4,3]
Vysvětlení:

Pro i = 0:

Uzel 1 je označen v t = 1 a uzel 2 v t = 2.

Pro i = 1:

uzel 0 je označen v t = 2 a uzel 2 v t = 4.

Pro i = 2:

Uzel 0 je označen v t = 2 a uzel 1 v t = 3.

Příklad 2:

Vstup: edges = [[0,1]]
Výstup: [1,2]
Vysvětlení:

Pro i = 0:

Uzel 1 je označen v t = 1.

Pro i = 1:

uzel 0 je označen v t = 2.

Příklad 3:

Vstup: edges = [[2,4],[0,1],[2,3],[0,2]]
Výstup: [4,6,3,5,5]
Vysvětlení:

Omezení:

2 <= n <= 10^5
edges.length == n - 1
edges[i].length == 2
0 <= edges[i][0], edges[i][1] <= n - 1
Vstup je generován tak, že hrany představují platný strom.

Existuje neorientovaný strom s n uzly očíslovanými od 0 do n - 1. Dostanete hrany 2D celočíselného pole délky n - 1, kde hrany[i] = [u_i, v_i] označují, že mezi uzly u_i a v_i ve stromu.
Zpočátku jsou všechny uzly neoznačené. Pro každý uzel i:

Pokud je i liché, uzel bude označen v čase x, pokud k němu sousedí alespoň jeden uzel, který byl označen v čase x - 1.
Pokud je i sudé, uzel bude označen v čase x, pokud k němu sousedí alespoň jeden uzel, který byl označen v čase x - 2.

Vraťte pole times, kde times[i] je čas, kdy jsou všechny uzly označeny ve stromu, pokud označíte uzel i v čase t = 0.
Všimněte si, že odpověď pro každý čas[i] je nezávislá, tj. když označíte uzel i, všechny ostatní uzly jsou neoznačené.

Příklad 1:

Vstup: hrany = [[0,1],[0,2]]
Výstup: [2,4,3]
Vysvětlení:

Pro i = 0:

Uzel 1 je označen jako t = 1 a uzel 2 je označen jako t = 2.

Pro i = 1:

Uzel 0 je označen jako t = 2 a uzel 2 je označen jako t = 4.

Pro i = 2:

Uzel 0 je označen jako t = 2 a uzel 1 je označen jako t = 3.

Příklad 2:

Vstup: hrany = [[0,1]]
Výstup: [1,2]
Vysvětlení:

Pro i = 0:

Uzel 1 je označen jako t = 1.

Pro i = 1:

Uzel 0 je označen jako t = 2.

Příklad 3:

Vstup: hrany = [[2,4],[0,1],[2,3],[0,2]]
Výstup: [4,6,3,5,5]
Vysvětlení:

Omezení:

2 <= n <= 10^5
hrany.length == n - 1
hrany[i].length == 2
0 <= hrany[i][0], hrany[i][1] <= n - 1
Vstup je generován tak, že hrany představují platný strom.


Je vám dáno N lineárních funkcí f_1, f_2, \ldots, f_N, kde f_i(x) = A_i x + B_i.
Najděte maximální možnou hodnotu f_{p_1}(f_{p_2}(\ldots f_{p_K}(1) \ldots )) pro posloupnost p = (p_1, p_2, \ldots, p_K) K různých celých čísel mezi 1 a N, včetně.

Vstup

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

Výstup

Zadejte odpověď jako celé číslo.

Omezení

- 1 \leq N \leq 2 \× 10^{5}
- 1 \leq K \leq \text{min}(N,10)
- 1 \leq A_i, B_i \leq 50 (1 \leq i \leq N)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 2
2 3
1 5
4 2

Ukázkový výstup 1

26

Zde jsou všechny možné p a odpovídající hodnoty f_{p_1}(f_{p_2}(1)):

- p= (1,2): f_1(f_2(1))=15
- p= (1,3): f_1(f_3(1))=15
- p= (2,1): f_2(f_1(1))=10
- p= (2,3): f_2(f_3(1))=11
- p= (3,1): f_3(f_1(1))=22
- p= (3,2): f_3(f_2(1))=26

Proto vytiskněte 26.

Ukázkový vstup 2

10 3
48 40
34 22
24 37
45 40
48 31
49 44
45 40
44 6
35 22
39 28

Ukázkový výstup 2

216223

Je dáno N lineárních funkcí f_1, f_2, \ldots, f_N, kde f_i(x) = A_i x + B_i.
Najděte maximální možnou hodnotu f_{p_1}(f_{p_2}(\ldots f_{p_K}(1) \ldots )) pro posloupnost p = (p_1, p_2, \ldots, p_K) K různých celých čísel mezi 1 a N včetně.

Vstup

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

Výstup

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

Omezení

- 1 \leq N \leq 2 \times 10^{5}
- 1 \leq K \leq \text{min}(N,10)
- 1 \leq A_i, B_i \leq 50 (1 \leq i \leq N)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 2
2 3
1 5
4 2

Ukázka výstupu 1

26

Zde jsou všechna možná p a odpovídající hodnoty f_{p_1}(f_{p_2}(1)):

- p= ( 1,2 ) : f_1(f_2(1)=15
- p= ( 1,3 ) : f_1(f_3(1)=15
- p= ( 2,1 ) : f_2(f_1(1))=10
- p= ( 2,3 ) : f_2(f_3(1))=11
- p= ( 3,1 ) : f_3(f_1(1))=22
- p= ( 3,2 ) : f_3(f_2(1))=26

Proto vypište 26.

Vzorový vstup 2

10 3
48 40
34 22
24 37
45 40
48 31
49 44
45 40
44 6
35 22
39 28

Ukázka výstupu 2

216223

Je vám dáno N lineárních funkcí f_1, f_2, \ldots, f_N, pro které f_i(x) = A_i x + B_i.
Najděte maximální možnou hodnotu f_{p_1}(f_{p_2}(\ldots f_{p_K}(1) \ldots )) pro posloupnost p = (p_1, p_2, \ldots, p_K) K různých celých čísel mezi 1 a N, včetně.

Vstup

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

Výstup

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

Omezení

- 1 \leq N \leq 2 \times 10^{5}
- 1 \leq K \leq \text{min}(N,10)
- 1 \leq A_i, B_i \leq 50 (1 \leq i \leq N)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 2
2 3
4 2
4 2

Ukázkový výstup 1

26

Zde jsou všechny možné p a odpovídající hodnoty f_{p_1}(f_{p_2}(1)):

- p= (1,2): f_1(f_2(1))=15
- p= (1,3): f_1(f_3(1))=15
- p= (2,1): f_2(f_1(1))=10
- p= (2,3): f_2(f_3(1))=11
- p= (3,1): f_3(f_1(1))=22
- p= (3,2): f_3(f_2(1))=26

Proto vytiskněte 26.

Ukázkový vstup 2

10 3
48 40
34 22
24 37
45 40
48 31
49 44
45 40
44 6
35 22
39 28

Ukázkový výstup 2

216223


Dán je text napsaný horizontálně. Převést ho na vertikální zápis, přičemž mezery vyplňte *.

Máte N řetězců S_1, S_2, \dots, S_N sestávajících z malých písmen anglické abecedy. Nechť M je maximální délka těchto řetězců.
Vytiskněte M řetězců T_1, T_2, \dots, T_M, které splňují následující podmínky:

- Každý T_i se skládá z malých písmen anglické abecedy a *.
- Každý T_i nekončí *.
- Pro každé 1 \leq i \leq N platí:
- Pro každé 1 \leq j \leq |S_i| existuje (N-i+1)-tý znak T_j a řetězení (N-i+1)-tých znaků v T_1, T_2, \dots, T_{|S_i|} v tomto pořadí se rovná S_i.
- Pro každé |S_i| + 1 \leq j \leq M, (N-i+1)-tý znak T_j buď neexistuje, nebo je *.

Zde |S_i| označuje délku řetězce S_i.

Vstup

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

Výstup

Vytiskněte odpověď v následujícím formátu:
T_1
T_2
\vdots
T_M

Omezení

- N je celé číslo mezi 1 a 100 včetně.
- Každé S_i je řetězec malých písmen anglické abecedy s délkou mezi 1 a 100 včetně.

Příklad vstupu 1

3
abc
de
fghi

Příklad výstupu 1

fda
geb
h*c
i

Vložení * jako 2. znak T_3 umístí c na správné místo.
Na druhé straně, vložení * jako 2. a 3. znak T_4 by způsobilo, že T_4 končí *, což porušuje podmínku.

Příklad vstupu 2

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

Příklad výstupu 2

cba
oet
ngc
tio
end
sne
ter
*r

Dán je text napsaný horizontálně. Převést ho na vertikální zápis, přičemž mezery vyplňte *.

Máte N řetězců S_1, S_2, \dots, S_N sestávajících z malých písmen anglické abecedy. Nechť M je maximální délka těchto řetězců.
Vytiskněte M řetězců T_1, T_2, \dots, T_M, které splňují následující podmínky:

- Každý T_i se skládá z malých písmen anglické abecedy a *.
- Každý T_i nekončí *.
- Pro každé 1 \leq i \leq N platí:
- Pro každé 1 \leq j \leq |S_i| existuje (N-i+1)-tý znak T_j a řetězení (N-i+1)-tých znaků v T_1, T_2, \dots, T_{|S_i|} v tomto pořadí se rovná S_i.
- Pro každé |S_i| + 1 \leq j \leq M, (N-i+1)-tý znak T_j buď neexistuje, nebo je *.

Zde |S_i| označuje délku řetězce S_i.

Vstup

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

Výstup

Vytiskněte odpověď v následujícím formátu:
T_1
T_2
\vdots
T_M

Omezení

- N je celé číslo mezi 1 a 100 včetně.
- Každé S_i je řetězec malých písmen anglické abecedy s délkou mezi 1 a 100 včetně.

Příklad vstupu 1

3
abc
de
fghi

Příklad výstupu 1

fda
geb
h*c
i

Vložení * jako 2. znak T_3 umístí c na správné místo.
Na druhé straně, vložení * jako 2. a 3. znak T_4 by způsobilo, že T_4 končí *, což porušuje podmínku.

Příklad vstupu 2

3
atcoder
beginner
contest

Příklad výstupu 2

cba
oet
ngc
tio
end
sne
ter
*r

Dostanete vodorovně napsaný text. Převeďte jej na svislé psaní a vyplňte mezery znakem *.

Je dáno N řetězců S_1, S_2, \dots, S_N složených z malých anglických písmen. Nechť M je maximální délka těchto řetězců.
Vypište M řetězců T_1, T_2, \dots, T_M, které splňují následující podmínky:

- Každý T_i se skládá z malých anglických písmen a *.
- Každý T_i nekončí znakem *.
- Pro každé 1 \leq i \leq N platí následující:
- Pro každý 1 \leq j \leq |S_i| existuje (N-i+1)-tý znak T_j a součet (N-i+1)-tých znaků T_1, T_2, \dots, T_{|S_i|} v tomto pořadí se rovná S_i.
- Pro každý |S_i| + 1 \leq j \leq M (N-i+1)-tý znak T_j buď neexistuje, nebo je *.

Zde |S_i| označuje délku řetězce S_i.

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

Vypište odpověď v následujícím formátu:
T_1
T_2
\vdots
T_M

Omezení

- N je celé číslo od 1 do 100 včetně.
- Každé S_i je řetězec malých anglických písmen o délce mezi 1 a 100 včetně.

Vzorový vstup 1

3
abc
de
fghi

Vzorový výstup 1

fda
geb
h*c
i

Umístěním * jako 2. znaku T_3 se c dostane na správnou pozici.
Naopak umístění * jako 2. a 3. znaku T_4 by způsobilo, že by T_4 končil znakem *, což porušuje podmínku.

Vzorový vstup 2

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

Vzorový výstup 2

cba
oet
ngc
tio
konec
sne
ter
*r


Je dáno \( N \) bodů \( (x_1, y_1), (x_2, y_2), \dots, (x_N, y_N) \) na dvourozměrné rovině a nezáporné celé číslo \( D \).
Určete počet celých párů \( (x, y) \) takových, že \displaystyle \sum_{i=1}^N (|x-x_i|+|y-y_i|) \leq D.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N D
x_1 y_1
x_2 y_2
\vdots
x_N y_N

Výstup

Vypište odpověď.

Omezení

- 1 \leq N \leq 2 \times 10^5
- 0 \leq D \leq 10^6
- -10^6 \leq x_i, y_i \leq 10^6
- (x_i, y_i) \neq (x_j, y_j) pro i \neq j.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

2 3
0 0
1 0

Ukázkový výstup 1

8

Následující obrázek znázorňuje vstup a odpověď pro Ukázku 1. Modré body představují vstup. Modré a červené body, celkem osm, splňují podmínku v zadání.

Ukázkový vstup 2

2 0
0 0
2 0

Ukázkový výstup 2

0

Ukázkový vstup 3

6 100
9 -6
10 -1
2 10
-1 7
-7 5
-1 -4

Ukázkový výstup 3

419

Je dáno N bodů (x_1, y_1), (x_2, y_2), \bodů, (x_N, y_N) ve dvourozměrné rovině a nezáporné celé číslo D.
Najděte počet dvojic celých čísel (x, y) takových, že \displaystyle \sum_{i=1}^N (|x-x_i|+|y-y_i|) \leq D.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N D
x_1 y_1
x_2 y_2
\vdots
x_N y_N

Výstup

Vypište odpověď.

Omezení

- 1 \leq N \leq 2 \times 10^5
- 0 \leq D \leq 10^6
-10^6 \leq x_i, y_i \leq 10^6
- (x_i, y_i) \neq (x_j, y_j) pro i \neq j.
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

2 3
0 0
1 0

Vzorový výstup 1

8

Následující obrázek znázorňuje vstup a odpověď pro vzorek 1. Modré body představují vstup. Modré a červené body, celkem osm, splňují podmínku v zadání.

Vzorový vstup 2

2 0
0 0
2 0

Vzorový výstup 2

0

Vzorový vstup 3

6 100
9 -6
10 -1
2 10
-1 7
-7 5
-1 -4

Vzorový výstup 3

419

Dostanete N bodů (x_1, y_1), (x_2, y_2), \dots, (x_N, y_N) na dvourozměrné rovině a nezáporné celé číslo D.
Najděte počet dvojic celých čísel (x, y) takový, že \displaystyle \sum_{i=1}^N (|x-x_i|+|y-y_i|) \leq D.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N D
x_1 y_1
x_2 y_2
\vdots
x_N y_N

Výstup

Vytiskněte odpověď.

Omezení

- 1 \leq N \leq 2 \times 10^5
- 0 \leq D \leq 10^6
- -10^6 \leq x_i, y_i \leq 10^6
- (x_i, y_i) \neq (x_j, y_j) pro i \neq j.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

2 3
0 0
1 0

Ukázkový výstup 1

8

Následující obrázek znázorňuje vstup a odpověď pro Ukázku 1. Modré body představují vstup. Modrý a červený bod, celkem osm, splňují podmínku ve výpisu.

Ukázkový vstup 2

2 0
0 0
2 0

Ukázkový výstup 2

0

Ukázkový vstup 3

6 100
9 -6
10 -1
2 10
-1 7
-7 5
-1 -4

Ukázkový výstup 3

419


Je vám dáno kladné celé číslo N a celé číslo A_{x,y,z} pro každou trojici celých čísel (x, y, z), kde 1 \leq x, y, z \leq N.
Budete mít Q dotazů v následujícím formátu, které musí být zpracovány v pořadí.
Pro i-tý dotaz (1 \leq i \leq Q), vám je dán n-tice celých čísel (Lx_i, Rx_i, Ly_i, Ry_i, Lz_i, Rz_i) tak, že 1 \leq Lx_i \leq Rx_i \leq N, 1 \leq Ly_i \leq Ry_i \leq N, a 1 \leq Lz_i \leq Rz_i \leq N. Najděte:
\displaystyle{\sum_{x=Lx_i}^{Rx_i} \sum_{y=Ly_i}^{Ry_i} \sum_{z=Lz_i}^{Rz_i} A_{x,y,z}}.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
A_{1,1,1} A_{1,1,2} \ldots A_{1,1,N}
A_{1,2,1} A_{1,2,2} \ldots A_{1,2,N}
\vdots
A_{1,N,1} A_{1,N,2} \ldots A_{1,N,N}
A_{2,1,1} A_{2,1,2} \ldots A_{2,1,N}
A_{2,2,1} A_{2,2,2} \ldots A_{2,2,N}
\vdots
A_{2,N,1} A_{2,N,2} \ldots A_{2,N,N}
\vdots
A_{N,1,1} A_{N,1,2} \ldots A_{N,1,N}
A_{N,2,1} A_{N,2,2} \ldots A_{N,2,N}
\vdots
A_{N,N,1} A_{N,N,2} \ldots A_{N,N,N}
Q
Lx_1 Rx_1 Ly_1 Ry_1 Lz_1 Rz_1
Lx_2 Rx_2 Ly_2 Ry_2 Lz_2 Rz_2
\vdots
Lx_Q Rx_Q Ly_Q Ry_Q Lz_Q Rz_Q

Výstup

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

Omezení

- 1 \leq N \leq 100
- 1 \leq Q \leq 2 \times 10^{5}
- 0 \leq A_{x,y,z} \leq 999 (1 \leq x, y, z \leq N)
- 1 \leq Lx_i \leq Rx_i \leq N (1 \leq i \leq Q)
- 1 \leq Ly_i \leq Ry_i \leq N (1 \leq i \leq Q)
- 1 \leq Lz_i \leq Rz_i \leq N (1 \leq i \leq Q)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

10
26

Pro 1. dotaz, hledaná hodnota je A_{1,2,1} + A_{2,2,1} = 3 + 7 = 10. Tedy vytiskněte 10.
Pro 2. dotaz, hledaná hodnota je A_{2,1,1} + A_{2,1,2} + A_{2,2,1} + A_{2,2,2} = 5 + 6 + 7 + 8 = 26. Tedy vytiskněte 26.

Ukázkový vstup 2

3
733 857 714
956 208 257
123 719 648
840 881 245
245 112 746
306 942 694
58 870 849
13 208 789
687 906 783
8
3 3 3 3 1 1
1 3 2 3 3 3
2 2 2 3 1 1
1 3 1 1 1 1
2 3 2 3 2 3
1 2 1 1 1 2
3 3 2 2 1 3
1 2 2 3 2 3

Ukázkový výstup 2

687
3917
551
1631
5180
3311
1010
4326

Je dáno celé kladné číslo N a celé číslo A_{x,y,z} pro každou trojici celých čísel (x, y, z) tak, že 1 \leq x, y, z \leq N.
Dostanete dotazy Q v následujícím formátu, které je třeba zpracovat v pořadí.
Pro i-tý dotaz (1 \leq i \leq Q) je dána trojice celých čísel (Lx_i, Rx_i, Ly_i, Ry_i, Lz_i, Rz_i) taková, že 1 \leq Lx_i \leq Rx_i \leq N, 1 \leq Ly_i \leq Ry_i \leq N a 1 \leq Lz_i \leq Rz_i \leq N. Najdi:
\displaystyle{\sum_{x=Lx_i}^{Rx_i} \sum_{y=Ly_i}^{Ry_i} \sum_{z=Lz_i}^{Rz_i} A_{x,y,z}}.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N
A_{1,1,1} A_{1,1,2} \ldots A_{1,1,N}
A_{1,2,1} A_{1,2,2} \ldots A_{1,2,N}
\vdots
A_{1,N,1} A_{1,N,2} \ldots A_{1,N,N}
A_{2,1,1} A_{2,1,2} \ldots A_{2,1,N}
A_{2,2,1} A_{2,2,2} \ldots A_{2,2,N}
\vdots
A_{2,N,1} A_{2,N,2} \ldots A_{2,N,N}
\vdots
A_{N,1,1} A_{N,1,2} \ldots A_{N,1,N}
A_{N,2,1} A_{N,2,2} \ldots A_{N,2,N}
\vdots
A_{N,N,1} A_{N,N,2} \ldots A_{N,N,N}
Q
Lx_1 Rx_1 Ly_1 Ry_1 Lz_1 Rz_1
Lx_2 Rx_2 Ly_2 Ry_2 Lz_2 Rz_2
\vdots
Lx_Q Rx_Q Ly_Q Ry_Q Lz_Q Rz_Q

Výstup

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

Omezení

- 1 \leq N \leq 100
- 1 \leq Q \leq 2 \times 10^{5}
- 0 \leq A_{x,y,z} \leq 999 (1 \leq x, y, z \leq N)
- 1 \leq Lx_i \leq Rx_i \leq N (1 \leq i \leq Q)
- 1 \leq Ly_i \leq Ry_i \leq N (1 \leq i \leq Q)
- 1 \leq Lz_i \leq Rz_i \leq N (1 \leq i \leq Q)
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

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

Ukázka výstupu 1

10
26

Pro 1. dotaz je hledaná hodnota A_{1,2,1} + A_{2,2,1} = 3 + 7 = 10. Vypište tedy 10.
Pro 2. dotaz je hledaná hodnota A_{2,1,1} + A_{2,1,2}. + A_{2,2,1} + A_{2,2,2} = 5 + 6 + 7 + 8 = 26. Vypište tedy 26.

Ukázka vstupu 2

3
733 857 714
956 208 257
123 719 648
840 881 245
245 112 746
306 942 694
58 870 849
13 208 789
687 906 783
8
3 3 3 3 1 1
1 3 2 3 3 3
2 2 2 3 1 1
1 3 1 1 1 1
2 3 2 3 2 3
1 2 1 1 1 2
3 3 2 2 1 3
1 2 2 3 2 3

Vzorový výstup 2

687
3917
551
1631
5180
3311
1010
4326

Dostanete kladné celé číslo N a celé číslo A_{x,y,z} pro každou trojici celých čísel (x, y, z) tak, že 1 \leq x, y, z \leq N.
Budete dostávat Q dotazy v následujícím formátu, které je nutné zpracovat v pořadí.
Pro i-tý dotaz (1 \leq i \leq Q) dostanete n-tici celých čísel (Lx_i, Rx_i, Ly_i, Ry_i, Lz_i, Rz_i), takže 1 \leq Lx_i \leq Rx_i \leq N, 1 \leq Ly_i \leq Ry_i \leq N a 1 \leq Lz_i \leq Rz_i \leq N. Najít:
\displaystyle{\sum_{x=Lx_i}^{Rx_i} \sum_{y=Ly_i}^{Ry_i} \sum_{z=Lz_i}^{Rz_i} A_{x,y,z}}.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
A_{1,1,1} A_{1,1,2} \ldots A_{1,1,N}
A_{1,2,1} A_{1,2,2} \ldots A_{1,2,N}
\vtečky
A_{1,N,1} A_{1,N,2} \ldots A_{1,N,N}
A_{2,1,1} A_{2,1,2} \ldots A_{2,1,N}
A_{2,2,1} A_{2,2,2} \ldots A_{2,2,N}
\vtečky
A_{2,N,1} A_{2,N,2} \ldots A_{2,N,N}
\vtečky
A_{N,1,1} A_{N,1,2} \ldots A_{N,1,N}
A_{N,2,1} A_{N,2,2} \ldots A_{N,2,N}
\vtečky
A_{N,N,1} A_{N,N,2} \ldots A_{N,N,N}
Q
Lx_1 Rx_1 Ly_1 Ry_1 Lz_1 Rz_1
Lx_2 Rx_2 Ly_2 Ry_2 Lz_2 Rz_2
\vtečky
Lx_Q Rx_Q Ly_Q Ry_Q Lz_Q Rz_Q

Výstup

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

Omezení

- 1 \leq N \leq 100
- 1 \leq Q \leq 2 \krát 10^{5}
- 0 \leq A_{x,y,z} \leq 999 (1 \leq x, y, z \leq N)
- 1 \leq Lx_i \leq Rx_i \leq N (1 \leq i \leq Q)
- 1 \leq Ly_i \leq Ry_i \leq N (1 \leq i \leq Q)
- 1 \leq Lz_i \leq Rz_i \leq N (1 \leq i \leq Q)
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

10
26

Pro 1. dotaz je hledaná hodnota A_{1,2,1} + A_{2,2,1} = 3 + 7 = 10. Vytiskněte tedy 10.
Pro druhý dotaz je hledaná hodnota A_{2,1,1} + A_{2,1,2} + A_{2,2,1} + A_{2,2,2} = 5 + 6 + 7 + 8 = 26. Vytiskněte tedy 26.

Ukázkový vstup 2

3
733 857 714
956 208 257
123 719 648
840 881 245
245 112 746
306 942 694
58 870 849
13 208 789
687 906 783
8
3 3 3 3 1 1
1 3 2 3 3 3
2 2 2 3 1 1
1 3 1 1 1 1
2 3 2 3 2 3
1 2 1 1 1 2
3 3 2 2 1 3
1 2 2 3 2 3

Ukázkový výstup 2

687
3917
551
1631
5180
3311
1010
4326


V AtCoder City se konají volby primátora. Kandidáty jsou Takahashi a Aoki.
Bylo odevzdáno N platných hlasů pro jednoho z dvou kandidátů a sčítání je právě probíhá. Zde je N liché číslo.
Momentální počet hlasů je T hlasů pro Takahashiho a A hlasů pro Aokiho.
Určete, zda je výsledek voleb již rozhodnutý v tomto okamžiku.

Vstup

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

Výstup

Vytiskněte Yes, pokud je výsledek voleb již rozhodnut, a No v opačném případě.

Omezení

- 1 \leq N \leq 99
- N je liché číslo.
- 0 \leq T, A \leq N
- T + A \leq N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

7 4 2

Ukázkový výstup 1

Yes

I když zbývající hlas připadne na Aokiho, Takahashi stále vyhraje. To znamená, že jeho vítězství je rozhodnuto, takže vytiskněte Yes.

Ukázkový vstup 2

99 12 48

Ukázkový výstup 2

No

Ačkoliv má nyní Aoki více hlasů, Takahashi vyhraje, pokud získá zbývajících 39 hlasů. Proto vytiskněte No.

Ukázkový vstup 3

1 0 0

Ukázkový výstup 3

No

V AtCoder City se konají volby starosty. Kandidáty jsou Takahashi a Aoki.
Bylo odevzdáno N platných hlasů pro jednoho ze dvou kandidátů a právě probíhá sčítání. Zde je N liché číslo.
Aktuální počet hlasů je T hlasů pro Takahashiho a A hlasů pro Aokiho.
Zjistěte, zda je v tuto chvíli již o výsledku voleb rozhodnuto.

Vstup

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

Výstup

Vytiskněte Ano, pokud je o výsledku voleb již rozhodnuto, a pokud ne Ne.

Omezení

- 1 \leq N \leq 99
- N je liché číslo.
- 0 \leq T, A \leq N
- T + A \leq N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

7 4 2

Ukázkový výstup 1

Yes

I když zbývající jeden hlas získá Aoki, Takahashi stále vyhraje. To znamená, že o jeho vítězství je rozhodnuto, takže vytiskněte Ano.

Ukázkový vstup 2

99 12 48

Ukázkový výstup 2

No

Přestože má Aoki v současnosti více hlasů, vyhrál by Takahashi, pokud by získal zbývajících 39 hlasů. Proto vytiskněte Ne.

Ukázkový vstup 3

1 0 0

Ukázkový výstup 3

No

Ve městě AtCoder City se konají volby starosty. Kandidáty jsou Takahashi a Aoki.
Pro oba kandidáty bylo odevzdáno N platných hlasů a v současné době probíhá sčítání hlasů. Zde je N liché číslo.
Aktuální počet hlasů je T hlasů pro Takahašiho a A hlasů pro Aokiho.
Určete, zda je o výsledku voleb v tomto okamžiku již rozhodnuto.

Zadejte

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

Výstup

Vypíše Yes, pokud je o výsledku voleb již rozhodnuto, a No v opačném případě.

Omezení

- 1 \leq N \leq 99
- N je liché číslo.
- 0 \leq T, A \leq N
- T + A \leq N
- Všechny vstupní hodnoty jsou celá čísla.

Příklad Vstup 1

7 4 2

Ukázkový výstup 1

Yes

I když zbývající jeden hlas připadne Aokimu, Takahaši stále zvítězí. To znamená, že o jeho vítězství je rozhodnuto, takže vypište Yes.

Vzorový vstup 2

99 12 48

Ukázkový výstup 2

No

Ačkoli má Aoki v současné době více hlasů, Takahaši by vyhrál, pokud by získal zbývajících 39 hlasů. Proto vypište No.

Vzorový vstup 3

1 0 0

Vzorový výstup 3

No


Máte prázdnou tašku.
Dostáváte Q dotazů, které musí být zpracovány v pořadí.
Existují tři typy dotazů.

- 1 x : Vložte do sáčku jednu kuličku s napsaným celým číslem x.
- 2 x : Vyjměte jednu kuličku s napsaným celým číslem x ze sáčku a vyhoďte ji. Při zadání tohoto dotazu je zaručeno, že v sáčku je koule s napsaným celým číslem x.
- 3 : Vytiskněte počet různých celých čísel napsaných na kuličkách v sáčku.

Vstup

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

I-tý dotaz \text{query}_i je zadán v jednom z následujících tří formátů:
1 x

2 x

3

Výstup

Pokud existuje K dotazů třetího typu, vytiskněte K řádků.
I-tý řádek (1 \leq i \leq K) musí obsahovat odpověď na i-tý dotaz třetího typu.

Omezení

- 1 \leq Q \leq 2 \krát 10^{5}
- 1 \leq x \leq 10^{6}
- Když je zadán dotaz druhého typu, má sáček kouli s napsaným celým číslem x.
- Existuje alespoň jeden dotaz třetího typu.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

8
1 3
1 1
14
3
2 1
3
1 5
3

Ukázkový výstup 1

3
2
3

Zpočátku je sáček prázdný.
Při prvním dotazu 1 3 se do pytle dostane koule s napsaným celým číslem 3.
Při druhém dotazu 1 1 se do pytle dostane koule s napsaným celým číslem 1.
Při třetím dotazu 1 4 se do pytle dostane koule s napsaným celým číslem 4.
Pro čtvrtý dotaz 3 má sáček koule s celými čísly 1, 3, 4, takže vytiskněte 3.
Pro pátý dotaz 2 1 se z pytle vyjme koule s napsaným celým číslem 1.
U šestého dotazu 3 má sáček koule s celými čísly 3, 4, takže vytiskněte 2.
Při sedmém dotazu 1 5 vstupuje do pytle koule s napsaným celým číslem 5.
U osmého dotazu 3 má sáček koule s celými čísly 3, 4, 5, takže vytiskněte 3.

Ukázkový vstup 2

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

Ukázkový výstup 2

1
1

Máte prázdnou tašku.
Dostanete dotazy Q, které je třeba zpracovat v pořadí.
Existují tři typy dotazů.

- 1 x : Vložte do pytle jednu kuličku s napsaným celým číslem x.
- 2 x : Vyjměte z pytle jednu kuličku s napsaným celým číslem x a zahoďte ji. Při zadání tohoto dotazu je zaručeno, že v sáčku je kulička s napsaným celým číslem x.
- 3 : Vypište počet různých celých čísel napsaných na kuličkách v sáčku.

Vstup

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

I-tý dotaz \text{dotaz}_i je zadán v jednom z následujících tří formátů:
1 x

2 x

3

Výstup

Pokud existuje K dotazů třetího typu, vypište K řádků.
Na i-tém řádku (1 \leq i \leq K) by měla být odpověď na i-tý dotaz třetího typu.

Omezení

- 1 \leq Q \leq 2 \times 10^{5}
- 1 \leq x \leq 10^{6}
- Je-li zadán dotaz druhého typu, je v sáčku kulička s celým číslem x.
- Existuje alespoň jeden dotaz třetího typu.
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

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

Ukázka výstupu 1

3
2
3

Zpočátku je taška prázdná.
Při prvním dotazu 1 3 vstoupí do tašky míč s napsaným celým číslem 3.
Pro druhý dotaz 1 1 vstoupí do tašky míč s napsaným celým číslem 1.
Při třetím dotazu 1 4 vstoupí do pytle míč s napsaným celým číslem 4.
U čtvrtého dotazu 3 má pytlík kuličky s celými čísly 1, 3, 4, takže vytiskněte 3.
U pátého dotazu 2 1 je ze sáčku odstraněn míč s napsaným celým číslem 1.
Pro šestý dotaz 3 má bag kuličky s celými čísly 3, 4, takže vytiskněte 2.
Při sedmém dotazu 1 5 vstoupí do tašky míč s napsaným celým číslem 5.
Pro osmý dotaz 3 má bag kuličky s celým číslem 3, 4, 5, takže vytiskněte 3.

Vzorkovací vstup 2

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

Ukázkový výstup 2

1
1

Máte prázdnou tašku.
Dostáváte Q dotazů, které musí být zpracovány v pořadí.
Existují tři typy dotazů.

- 1 x : Vložte jednu kuličku s napsaným celým číslem x do sáčku.
- 2 x : Vyjměte jednu kuličku s napsaným celým číslem x ze sáčku a vyhoďte ji. Při zadání tohoto dotazu je zaručeno, že na sáčku je koule s napsaným celým číslem x.
- 3 : Vytiskněte počet různých celých čísel napsaných na kuličkách v sáčku.

Vstup

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

I-tý dotaz \text{dotaz}_i je zadán v jednom z následujících tří formátů:
1 x

2 x

3

Výstup

Pokud existuje K dotazů třetího typu, vytiskněte K řádků.
I-tý řádek (1 \leq i \leq K) by měl obsahovat odpověď na i-tý dotaz třetího typu.

Omezení

- 1 \leq Q \leq 2 × 10^5
- 1 \leq x \leq 10^{6}
- Když je zadán dotaz druhého typu, má sáček kouli s napsaným celým číslem x.
- Existuje alespoň jeden dotaz třetího typu.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

8
1 3
1 1
14
3
2 1
3
15
3

Ukázkový výstup 1

3
2
3

Zpočátku je sáček prázdný.
Při prvním dotazu 1 3 se do pytle vloží koule s napsaným číslem 3.
Při druhém dotazu 1 1 se do pytle dostane koule s napsaným celým číslem 1.
Při třetím dotazu 1 4 se do pytle dostane koule s napsaným celým číslem 4.
Pro čtvrtý dotaz 3 má sáček koule s celými čísly 1, 3, 4, takže vytiskněte 3.
Pro pátý dotaz 2 1 se z pytle vyjme koule s napsaným celým číslem 1.
U šestého dotazu 3 má sáček koule s celými čísly 3, 4, takže vytiskněte 2.
Při sedmém dotazu 1 5 vstupuje do pytle koule s napsaným celým číslem 5.
U osmého dotazu 3 má sáček koule s celými čísly 3, 4, 5, takže vytiskněte 3.

Ukázkový vstup 2

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

Ukázkový výstup 2

1
1


Máte jednoduchý neorientovaný graf s N vrcholy a M hranami. i-tá hrana spojuje vrcholy u_i a v_i obousměrně. Určete, zda existuje způsob, jak napsat celé číslo mezi 1 a 2^{60} - 1 včetně, na každý vrchol tohoto grafu tak, aby byla splněna následující podmínka:

- Pro každý vrchol v se stupněm alespoň 1 je celkový XOR čísel napsaných na jeho sousedních vrcholech (vyjma v samotného) roven 0.

Co je XOR?

XOR dvou nezáporných celých čísel A a B, označený jako A \oplus B, je definován následovně:

- V binární reprezentaci A \oplus B je bit na pozici 2^k \, (k \geq 0) roven 1, pokud a jen pokud přesně jeden z bitů na pozici 2^k v binárních reprezentacích A a B je roven 1. Jinak je roven 0.

Například, 3 \oplus 5 = 6 (v binárním: 011 \oplus 101 = 110).

Obecně je bitový XOR k celých čísel p_1, \dots, p_k definován jako (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k). Lze dokázat, že toto je nezávislé na pořadí p_1, \dots, p_k.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M

Výstup

Pokud neexistuje způsob, jak napsat čísla splňující podmínku, vytiskněte No.
Jinak, nechť X_v je celé číslo napsané na vrcholu v, a vytiskněte vaše řešení v následujícím formátu. Pokud existuje více řešení, které splňují podmínky, jakékoli z nich bude přijato.
Yes
X_1 X_2 \dots X_N

Omezení

- 1 \leq N \leq 60
- 0 \leq M \leq N(N-1)/2
- 1 \leq u_i < v_i \leq N
- (u_i, v_i) \neq (u_j, v_j) pro i \neq j.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 3
1 2
1 3
2 3

Ukázkový výstup 1

Yes
4 4 4

Jiná přijatelná řešení zahrnují napsat (2,2,2) nebo (3,3,3).

Ukázkový vstup 2

2 1
1 2

Ukázkový výstup 2

No

Ukázkový vstup 3

1 0

Ukázkový výstup 3

Yes
1

Může být napsáno jakékoli číslo mezi 1 a 2^{60} - 1.

Ukázkový vstup 4

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

Ukázkový výstup 4

Yes
12 4 4 8

Je dán jednoduchý neorientovaný graf s N vrcholy a M hranami. I-tá hrana spojuje obousměrně vrcholy u_i a v_i.
Určete, zda existuje způsob, jak na každý vrchol tohoto grafu zapsat celé číslo mezi 1 a 2^{60} - 1 včetně tak, aby byla splněna následující podmínka:

- Pro každý vrchol v se stupněm alespoň 1 je součet XOR čísel zapsaných na jeho sousedních vrcholech (kromě samotného v) roven 0.

Co je XOR?

XOR dvou nezáporných celých čísel A a B, označovaný jako A \oplus B, je definován takto:

- V binární reprezentaci A \oplus B je bit na pozici 2^k \, (k \geq 0) 1 tehdy a jen tehdy, když přesně jeden z bitů na pozici 2^k v binárních reprezentacích A a B je 1. Jinak je 0.

Například 3 \oplus 5 = 6 (binárně: 011 \oplus 101 = 110).

Obecně je bitový XOR k celých čísel p_1, \dots, p_k definován jako (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k).  Lze dokázat, že toto je nezávislé na pořadí p_1, \dots, p_k.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M

Výstup

Pokud není možné zapsat celá čísla splňující podmínku, vypište Ne.
V opačném případě nechť X_v je celé číslo zapsané na vrcholu v a vypište řešení v následujícím formátu. Pokud existuje více řešení, bude akceptováno kterékoli z nich.
Yes
X_1 X_2 \dots X_N

Omezení

- 1 \leq N \leq 60
- 0 \leq M \leq N(N-1)/2
- 1 \leq u_i < v_i \leq N
- (u_i, v_i) \neq (u_j, v_j) pro i \neq j.
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

3 3
1 2
1 3
2 3

Vzorový výstup 1

Yes
4 4 4

Mezi další přijatelná řešení patří zápis (2,2,2) nebo (3,3,3).

Vzorový vstup 2

2 1
1 2

Vzorový výstup 2

No

Vzorový vstup 3

1 0

Vzorový výstup 3

Yes
1

Lze zapsat libovolné celé číslo mezi 1 a 2^{60} - 1.

Vzorový vstup 4

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

Vzorový výstup 4

Yes
12 4 4 8

Je dán jednoduchý neorientovaný graf s N vrcholy a M hranami. I-tá hrana spojuje obousměrně vrcholy u_i a v_i.
Určete, zda existuje způsob, jak na každý vrchol tohoto grafu zapsat celé číslo mezi 1 a 2^{60} - 1 včetně tak, aby byla splněna následující podmínka:

- Pro každý vrchol v se stupněm alespoň 1 je součet XOR čísel zapsaných na jeho sousedních vrcholech (kromě samotného v) roven 0.

Co je XOR?

XOR dvou nezáporných celých čísel A a B, označovaný jako A \oplus B, je definován takto:

- V binární reprezentaci A \oplus B je bit na pozici 2^k \, (k \geq 0) 1 tehdy a jen tehdy, když přesně jeden z bitů na pozici 2^k v binárních reprezentacích A a B je 1. Jinak je 0.

Například 3 \oplus 5 = 6 (binárně: 011 \oplus 101 = 110).

Obecně je bitový XOR k celých čísel p_1, \dots, p_k definován jako (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k).  Lze dokázat, že toto je nezávislé na pořadí p_1, \dots, p_k.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M

Výstup

Pokud není možné zapsat celá čísla splňující podmínku, vypište No.
V opačném případě nechť X_v je celé číslo zapsané na vrcholu v a vypište řešení v následujícím formátu. Pokud existuje více řešení, bude akceptováno kterékoli z nich.
Yes
X_1 X_2 \tečky X_N

Omezení

- 1 \leq N \leq 60
- 0 \leq M \leq N(N-1)/2
- 1 \leq u_i < v_i \leq N
- (u_i, v_i) \neq (u_j, v_j) pro i \neq j.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 3
1 2
1 3
2 3

Vzorový výstup 1

Yes
4 4 4

Mezi další přijatelná řešení patří zápis (2,2,2) nebo (3,3,3).

Vzorový vstup 2

2 1
1 2

Vzorový výstup 2

No

Vzorový vstup 3

1 0

Výstupní vzorek 3

Yes
1

Lze zapsat libovolné celé číslo mezi 1 a 2^{60} - 1.

Vzorový vstup 4

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

Ukázka výstupu 4

Yes
12 4 4 8


Je dána posloupnost X o délce N, kde každý prvek má hodnotu od 1 do N včetně, a posloupnost A o délce N.
Vypište výsledek provedení následující operace K krát na posloupnosti A.

- Nahraďte A za B tak, aby B_i = A_{X_i}.

Vstup

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

Výstup

Nechť A' je posloupnost A po provedených operacích. Vypište ji v následujícím formátu:
A'_1 A'_2 \dots A'_N

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 2 \times 10^5
- 0 \le K \le 10^{18}
- 1 \le X_i \le N
- 1 \le A_i \le 2 \times 10^5

Vzorový vstup 1

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

Vzorový výstup 1

7 2 3 5 1 9 3

V tomto vstupu je X=(5,2,6,3,1,4,6) a počáteční posloupnost je A=(1,2,3,5,7,9,11).

- Po jedné operaci je posloupnost (7,2,9,3,1,5,9).
- Po dvou operacích je posloupnost (1,2,5,9,7,3,5).
- Po třech operacích je posloupnost (7,2,3,5,1,9,3).

Vzorový vstup 2

4 0
3 4 1 2
4 3 2 1

Vzorový výstup 2

4 3 2 1

Mohou nastat případy, kdy se neprovedou žádné operace.

Vzorový vstup 3

9 1000000000000000000
3 7 8 5 9 3 7 4 2
9 9 8 2 4 4 3 5 3

Ukázka výstupu 3

3 3 3 3 3 3 3 3 3

Máte dáno posloupnost X délky N, kde každý prvek je v rozmezí od 1 do N včetně, a posloupnost A délky N.
Vytiskněte výsledek po provedení následující operace K-krát na A.

- Nahraďte A posloupností B tak, že \( B_i = A_{X_i} \).

Vstup

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

Výstup

Nechť \( A' \) je posloupnost A po provedení operací. Vytiskněte ji v následujícím formátu:
A'_1 A'_2 \dots A'_N

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 2 \times 10^5
- 0 \le K \le 10^{18}
- 1 \le X_i \le N
- 1 \le A_i \le 2 \times 10^5

Ukázkový vstup 1

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

Ukázkový výstup 1

7 2 3 5 1 9 3

V tomto vstupu, X=(5,2,6,3,1,4,6) a počáteční sekvence je A=(1,2,3,5,7,9,11).

- Po jedné operaci je posloupnost  (7,2,9,3,1,5,9).
- Po dvou operacích je posloupnost (1,2,5,9,7,3,5).
- Po třech operacích je posloupnost (7,2,3,5,1,9,3).

Ukázkový vstup 2

4 0
3 4 1 2
4 3 2 1

Ukázkový výstup 2

4 3 2 1

V tomto případě se žádné operace neprovádějí.

Ukázkový vstup 3

9 1000000000000000000
3 7 8 5 9 3 7 4 2
9 9 8 2 4 4 3 5 3

Ukázkový výstup 3

3 3 3 3 3 3 3 3 3

Je vám dána posloupnost X délky N, kde každý prvek je mezi 1 a N včetně, a posloupnost A délky N.
Vytiskněte výsledek provedení následující operace K-krát na A.

- Nahraďte A za B tak, že B_i = A_{X_i}.

Vstup

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

Výstup

Nechť A' je posloupnost A po operacích. Vytiskněte jej v následujícím formátu:
A'_1 A'_2 \tečky A'_N

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 2 \krát 10^5
- 0 \le K \le 10^{18}
- 1 \le X_i \le N
- 1 \le A_i \le 2 \krát 10^5

Ukázkový vstup 1

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

Ukázkový výstup 1

7 2 3 5 1 9 3

V tomto vstupu je X=(5,2,6,3,1,4,6) a počáteční sekvence je A=(1,2,3,5,7,9,11).

- Po jedné operaci je sekvence (7,2,9,3,1,5,9).
- Po dvou operacích je sekvence (1,2,5,9,7,3,5).
- Po třech operacích je sekvence (7,2,3,5,1,9,3).

Ukázkový vstup 2

40
3 4 1 2
4 3 2 1

Ukázkový výstup 2

4 3 2 1

Mohou nastat případy, kdy nejsou prováděny žádné operace.

Ukázkový vstup 3

9 1000000000000000000
3 7 8 5 9 3 7 4 2
9 9 8 2 4 4 3 5 3

Ukázkový výstup 3

3 3 3 3 3 3 3 3 3


Je vám dána posloupnost kladných celých čísel délky N: A=(A_1,A_2,\ldots,A_N) a B=(B_1,B_2,\ldots,B_N).
Je vám dáno Q dotazů ke zpracování v pořadí. i-tý dotaz je vysvětlen níže.

- Jsou vám dána kladná celá čísla l_i,r_i,L_i,R_i. Vytiskněte Yes, pokud je možné přeuspořádat podposloupnost (A_{l_i},A_{l_i+1},\ldots,A_{r_i}) tak, aby se shodovala s podposloupností (B_{L_i},B_{L_i+1},\ldots,B_{R_i}), jinak vytiskněte No.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N Q
A_1 A_2 \ldots A_N
B_1 B_2 \ldots B_N
l_1 r_1 L_1 R_1
l_2 r_2 L_2 R_2
\vdots
l_Q r_Q L_Q R_Q

Výstup

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

Omezení

- 1\leq N,Q\leq 2\times 10^5
- 1\leq A_i,B_i\leq N
- 1\leq l_i \leq r_i\leq N
- 1\leq L_i \leq R_i\leq N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

Yes
No
No
Yes

- Pro 1. dotaz je možné přeuspořádat (1,2,3) tak, aby odpovídalo (2,3,1). Proto vytiskneme Yes.
- Pro 2. dotaz je nemožné přeuspořádat (1,2) tak, aby odpovídalo (1,4,2). Proto vytiskneme No.
- Pro 3. dotaz je nemožné přeuspořádat (1,2,3,2) tak, aby odpovídalo (3,1,4,2). Proto vytiskneme No.
- Pro 4. dotaz je možné přeuspořádat (1,2,3,2,4) tak, aby odpovídalo (2,3,1,4,2). Proto vytiskneme Yes.

Ukázkový vstup 2

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

Ukázkový výstup 2

Yes
Yes
No
No

Jsou vám dány sekvence kladných celých čísel délky N: A=(A_1,A_2,\ldots,A_N) a B=(B_1,B_2,\ldots,B_N).
Dostanete Q dotazy ke zpracování v pořadí. I-tý dotaz je vysvětlen níže.

- Máte kladná celá čísla l_i, r_i, L_i, R_i. Vytiskněte Ano, pokud je možné změnit uspořádání podsekvence (A_{l_i},A_{l_i+1},\ldots,A_{r_i}), aby odpovídala podsekvenci (B_{L_i},B_{L_i+1},\ldots ,B_{R_i}) a jinak ne.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N Q
A_1 A_2 \ldots A_N
B_1 B_2 \ldots B_N
l_1 r_1 L_1 R_1
l_2 r_2 L_2 R_2
\vdots
l_Q r_Q L_Q R_Q

Výstup

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

Omezení

- 1\leq N,Q\leq 2\times 10^5
- 1\leq A_i,B_i\leq N
- 1\leq l_i \leq r_i\leq N
- 1\leq L_i \leq R_i\leq N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

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

Ukázkový výstup 1

Yes
No
No
Yes

- U 1. dotazu je možné přeskupit (1,2,3) na shodu (2,3,1). Proto tiskneme Ano.
- U 2. dotazu není možné žádným způsobem přeskupit (1,2) tak, aby odpovídaly (1,4,2). Proto tiskneme Ne.
- U 3. dotazu není možné žádným způsobem přeskupit (1,2,3,2) na shodu (3,1,4,2). Proto tiskneme Ne.
- U 4. dotazu je možné přeskupit (1,2,3,2,4) na shodu (2,3,1,4,2). Proto tiskneme Ano.

Ukázkový vstup 2

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

Ukázkový výstup 2

Yes
Yes
No
No

Jsou dány posloupnosti kladných celých čísel délky N: A=(A_1,A_2,\ldots,A_N) a B=(B_1,B_2,\ldots,B_N).
Je zadáno Q dotazů, které je třeba zpracovat v daném pořadí. Níže je vysvětlen i-tý dotaz.

- Jsou dána celá kladná čísla l_i,r_i,L_i,R_i. Vypište Ano, pokud je možné uspořádat podřetězec (A_{l_i},A_{l_i+1},\ldots,A_{r_i}) tak, aby odpovídal podřetězci (B_{L_i},B_{L_i+1},\ldots,B_{R_i}), a Ne v opačném případě.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N Q
A_1 A_2 \ldots A_N
B_1 B_2 \ldots B_N
l_1 r_1 L_1 R_1
l_2 r_2 L_2 R_2
\vdots
l_Q r_Q L_Q R_Q

Výstup

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

Omezení

- 1\leq N,Q\leq 2\times 10^5
- 1\leq A_i,B_i\leq N
- 1\leq l_i \leq r_i\leq N
- 1\leq L_i \leq R_i\leq N
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

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

Vzorový výstup 1

Yes
No
No
Yes

- Pro 1. dotaz je možné změnit uspořádání (1,2,3) tak, aby odpovídalo (2,3,1). Proto vypíšeme Ano.
- Pro 2. dotaz není možné žádným způsobem změnit uspořádání (1,2) tak, aby odpovídalo (1,4,2). Proto vypíšeme Ne.
- U třetího dotazu nelze žádným způsobem změnit uspořádání (1,2,3,2) tak, aby odpovídalo (3,1,4,2). Proto vypíšeme č.
- U 4. dotazu je možné uspořádat (1,2,3,2,4) tak, aby odpovídalo (2,3,1,4,2). Proto vypíšeme Ano.

Vzorový vstup 2

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

Vzorový výstup 2

Yes
Yes
No
No


V království AtCoder jsou obyvatelé povinni křičet svou lásku k takoyaki každý den v hodinu A.
Takahashi, který žije v království AtCoder, chodí spát v hodině B a probouzí se každý den v hodině C (ve 24hodinovém režimu). Může křičet svou lásku k takoyaki, když je vzhůru, ale ne, když spí. Zjistěte, zda může každý den křičet svou lásku k takoyaki. Zde má den 24 hodin a jeho doba spánku je kratší než 24 hodin.

Vstup

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

Výstup

Tisk Ano, pokud Takahashi může každý den křičet svou lásku k takoyaki, a jinak Ne.

Omezení

- 0\leq A,B,C\lt 24
- A, B a C jsou párově různé.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

21 8 14

Ukázkový výstup 1

Yes

Takahashi chodí spát v 8 hodin a probouzí se každý den ve 14 hodin. Ve 21 hodin je vzhůru, a tak může každý den křičet svou lásku k takoyaki. Proto vytiskněte Ano.

Ukázkový vstup 2

0 21 7

Ukázkový výstup 2

No

Takahashi chodí spát v 21 hodin a vstává každý den v 7 hodin. V 0 hodin není vzhůru, takže nemůže každý den křičet svou lásku k takoyaki. Proto tiskněte Ne.

Ukázkový vstup 3

10 7 17

Ukázkový výstup 3

No

V království AtCoder jsou obyvatelé povinni křičet svou lásku k takoyaki každý den v hodinu A.
Takahashi, který žije v království AtCoder, chodí spát v hodině B a probouzí se každý den v hodině C (ve 24hodinovém režimu). Může křičet svou lásku k takoyaki, když je vzhůru, ale ne, když spí. Zjistěte, zda může každý den křičet svou lásku k takoyaki. Zde má den 24 hodin a jeho doba spánku je kratší než 24 hodin.

Vstup

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

Výstup

Tisk Ano, pokud Takahashi může každý den křičet svou lásku k takoyaki, a jinak Ne.

Omezení

- 0\leq A,B,C\lt 24
- A, B a C jsou párově odlišné.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

21 8 14

Ukázkový výstup 1

Yes

Takahashi chodí spát v 8 hodin a probouzí se každý den ve 14 hodin. Ve 21 hodin je vzhůru, a tak může každý den křičet svou lásku k takoyaki. Proto vytiskněte Ano.

Ukázkový vstup 2

0 21 7

Ukázkový výstup 2

No

Takahashi chodí spát v 21 hodin a vstává každý den v 7 hodin. V 0 hodin není vzhůru, takže nemůže každý den křičet svou lásku k takoyaki. Proto tisk č.

Ukázkový vstup 3

10 7 17

Ukázkový výstup 3

No

V království AtCoder musí obyvatelé každý den v A hodin vykřikovat, že milují takoyaki.
Takahaši, který žije v Království AtCoder, chodí spát v B hodin a vstává každý den v C hodin (ve 24hodinovém čase). Když je vzhůru, může vykřikovat svou lásku k takoyaki, ale když spí, nemůže. Určete, zda může každý den vykřikovat, že miluje takoyaki. Zde má den 24 hodin a jeho doba spánku je kratší než 24 hodin.

Zadání

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

Výstup

Vypište Yes, pokud Takahaši může každý den vykřikovat svou lásku k takoyaki, a No v opačném případě.

Omezení

- 0\leq A,B,C\lt 24
- A, B a C se párově liší.
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1

21 8 14

Ukázkový výstup 1

Yes

Takahashi chodí spát každý den v 8 hodin a vstává ve 14 hodin. Je vzhůru ve 21 hodin, takže může každý den vykřikovat svou lásku k takoyaki. Proto vypište Yes.

Vzorový vstup 2

0 21 7

Ukázkový výstup 2

No

Takahaši chodí spát každý den ve 21 hodin a vstává v 7 hodin. V 0 hodin není vzhůru, takže nemůže každý den vykřikovat svou lásku k takoyaki. Proto vypište č.

Vzorový vstup 3

10 7 17

Ukázkový výstup 3

No


Jsou vám dána kladná celá čísla N, M, K a posloupnost nezáporných celých čísel: A=(A_1,A_2,\ldots,A_N).
Pro neprázdnou nezápornou celočíselnou posloupnost B=(B_1,B_2,\ldots,B_{|B|}) definujeme její skóre následovně.

- Je-li délka B násobkem M: (B_1 \oplus B_2 \oplus \dots \oplus B_{|B|})^K
- Jinak: 0

Zde \oplus představuje bitový XOR.
Najděte součet, modulo 998244353, skóre 2^N-1 neprázdných podsekvencí A.
Co je bitový XOR? Bitový XOR nezáporných celých čísel A a B, označených jako A \oplus B, je definován následovně: - V binární reprezentaci A \oplus B je číslice na pozici 2^k (k \geq 0) 1 jestliže právě jeden z A a B má v této pozici ve svých binárních reprezentacích 1 a v opačném případě 0. Například 3 \oplus 5 = 6 (binárně: 011 \oplus 101 = 110). Obecně platí, že XOR k celých čísel p_1, \dots, p_k je definován jako (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k), a lze dokázat, že toto je nezávislé na pořadí p_1, \tečky, p_k.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

- 1 \leq N,K \leq 2 \times10^5
- 1 \leq M \leq 100
- 0 \leq A_i < 2^{20}
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 2 2
1 2 3

Ukázkový výstup 1

14

Zde jsou skóre 2^3-1=7 neprázdných subsekvencí A.

- (1): 0
- (2): 0
- (3): 0
- (1,2): (1\oplus2)^2=9
- (1,3): (1\oplus3)^2=4
- (2,3): (2\oplus3)^2=1
- (1,2,3): 0

Hledaný součet je tedy 0+0+0+9+4+1+0=14.

Ukázkový vstup 2

10 5 3
100 100 100 100 100 100 100 100 100 100

Ukázkový výstup 2

252000000

Ukázkový vstup 3

16 4 100
7053 3876 3178 8422 7802 5998 2334 6757 6889 6637 7365 9495 7848 9026 7312 6558

Ukázkový výstup 3

432440016

Jsou vám dána kladná celá čísla N, M, K a posloupnost nezáporných celých čísel: A=(A_1,A_2,\ldots,A_N).
Pro neprázdnou nezápornou celočíselnou posloupnost B=(B_1,B_2,\ldots,B_{|B|}) definujeme její skóre následovně.

- Pokud délka B je násobkem M: (B_1 \oplus B_2 \oplus \dots \oplus B_{|B|})^K
- Jinak: 0

Zde \oplus reprezentuje bitový XOR.
Najděte součet, modulo 998244353, skóre z 2^N-1 neprázdných podposloupností A.
Co je bitový XOR? Bitový XOR nezáporných celých čísel A a B, značený jako A \oplus B, je definován následovně: - V binární reprezentaci A \oplus B je číslice na pozici 2^k (k \geq 0) 1, pokud jedno z čísel A a B má 1 na této pozici ve své binární reprezentaci, a 0 jinak. Například, 3 \oplus 5 = 6 (v binárním: 011 \oplus 101 = 110). Obecně je XOR k čísel p_1, \dots, p_k definován jako (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k) a lze dokázat, že tento je nezávislý na pořadí p_1, \dots, p_k.

Vstup

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

Výstup

Vypište odpověď.

Omezení

- 1 \leq N,K \leq 2 \times 10^5
- 1 \leq M \leq 100
- 0 \leq A_i < 2^{20}
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 2 2
1 2 3

Ukázkový výstup 1

14

Zde jsou skóre z 2^3-1=7 neprázdných podposloupností A.

- (1): 0
- (2): 0
- (3): 0
- (1,2): (1\oplus2)^2=9
- (1,3): (1\oplus3)^2=4
- (2,3): (2\oplus3)^2=1
- (1,2,3): 0

Hledaný součet je tedy 0+0+0+9+4+1+0=14.

Ukázkový vstup 2

10 5 3
100 100 100 100 100 100 100 100 100 100

Ukázkový výstup 2

252000000

Ukázkový vstup 3

16 4 100
7053 3876 3178 8422 7802 5998 2334 6757 6889 6637 7365 9495 7848 9026 7312 6558

Ukázkový výstup 3

432440016

Jsou dána celá kladná čísla N, M, K a posloupnost celých nezáporných čísel: A=(A_1,A_2,\ldots,A_N).
Pro neprázdnou nezápornou posloupnost celých čísel B=(B_1,B_2,\ldots,B_{|B|}) definujeme její skóre takto.

- Je-li délka B násobkem M: (B_1 \oplus B_2 \oplus \dots \oplus B_{|B|})^K
- V opačném případě: 0

Zde \oplus představuje bitový XOR.
Najděte modulo 998244353 součet skóre 2^N-1 neprázdných podřetězců A.
Co je bitový XOR? Bitový XOR nezáporných celých čísel A a B, označený jako A \oplus B, je definován takto: - V binární reprezentaci A \oplus B je číslice na pozici 2^k (k \geq 0) 1, pokud přesně jedno z A a B má na této pozici ve své binární reprezentaci jedničku, a jinak 0. Například 3 \oplus 5 = 6 (ve dvojkové soustavě: 011 \oplus 101 = 110). Obecně je XOR k celých čísel p_1, \dots, p_k definován jako (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k) a lze dokázat, že to nezávisí na pořadí p_1, \dots, p_k.

Vstup

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

Výstup

Vypište odpověď.

Omezení

- 1 \leq N,K \leq 2 \times 10^5
- 1 \leq M \leq 100
- 0 \leq A_i < 2^{20}
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 2 2
1 2 3

Ukázkový výstup 1

14

Zde jsou výsledky 2^3-1=7 neprázdných podřetězců A.

- (1): 0
- (2): 0
- (3): 0
- (1,2): (1\oplus2)^2=9
- (1,3): (1\oplus3)^2=4
- (2,3): (2\oplus3)^2=1
- (1,2,3): 0

 Hledaný součet je tedy 0+0+0+9+4+1+0=14.

Vzorový vstup 2

10 5 3
100 100 100 100 100 100 100 100 100 100

Vzorový výstup 2

252000000

Vzorový vstup 3

16 4 100
7053 3876 3178 8422 7802 5998 2334 6757 6889 6637 7365 9495 7848 9026 7312 6558

Ukázka výstupu 3

432440016


Reálné číslo X je uvedeno na třetí desetinné místo.
Vytiskněte skutečné číslo X za následujících podmínek.

- Desetinná část nesmí mít koncové 0s.
- Nesmí být zbytečná koncová desetinná čárka.

Vstup

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

Výstup

Vypište odpověď.

Omezení

- 0 \le X < 100
- X se uvádí na třetí desetinné místo.

Ukázkový vstup 1

1,012

Ukázkový výstup 1

1,012

1,012 lze vytisknout tak, jak je.

Ukázkový vstup 2

12,340

Ukázkový výstup 2

12,34

Tisk 12,340 bez koncové 0 má za následek 12,34.

Ukázkový vstup 3

99,900

Ukázkový výstup 3

99,9

Tisk 99,900 bez koncové 0 má za následek 99,9.

Ukázkový vstup 4

0,000

Ukázkový výstup 4

0

Tisk 0,000 bez koncových 0 nebo zbytečné desetinné čárky má za následek 0.

Reálné číslo X je zadáno na třetí desetinné místo.
Vypište reálné číslo X za následujících podmínek.

- Desetinná část nesmí obsahovat koncové nuly.
- Nesmí být zbytečná koncové desetinné místo.

Vstup

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

Výstup

Výstup odpovědi.

Omezení

- 0 \le X < 100
- X je zadáno na třetí desetinné místo.

Příklad Vstup 1

1.012

Vzorový výstup 1

1.012

Číslo 1.012 lze vytisknout v této podobě.

Vzorový vstup 2

12.340

Vzorový výstup 2

12.34

Výsledkem tisku 12.340 bez koncové 0 je 12.34.

Vzorový vstup 3

99.900

Vzorový výstup 3

99.9

Výsledkem tisku 99.900 bez koncové nuly je 99.9.

Vzorový vstup 4

0.000

Vzorový výstup 4

0

Výsledkem tisku 0.000 bez koncové nuly nebo zbytečné desetinné čárky je 0.

Je dáno skutečný číslo X se třemi desetinnými místy.
Vytiskněte skutečný číslo X za následujících podmínek.

- Desetinná část nesmí mít koncové nuly.
- Nesmí být zbytečná koncová desetinná tečka.

Vstup

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

Výstup

Vypište odpověď.

Omezení

- 0 \le X < 100
- X je dáno na třetí desetinné místo.

Příklad vstupu 1

1.012

Příklad výstupu 1

1.012

1.012 může být vytištěno tak, jak je.

Příklad vstupu 2

12.340

Příklad výstupu 2

12.34

Tisk 12.340 bez koncové 0 vede k 12.34.

Příklad vstupu 3

99.900

Příklad výstupu 3

99.9

Tisk 99.900 bez koncových 0 vede k 99.9.

Příklad vstupu 4

0.000

Příklad výstupu 4

0

Tisk 0.000 bez koncových 0 nebo zbytečné desetinné tečky vede k 0.


Kolem jezera se nachází \( N \) odpočívadel.
Odpočívadla jsou očíslována 1, 2, ..., \( N \) ve směru hodinových ručiček.
Cesta od odpočívadla \( i \) k odpočívadlu \( i+1 \) (kde odpočívadlo \( N+1 \) odkazuje na odpočívadlo 1) trvá \( A_i \) kroků.
Minimální počet kroků potřebný k chůzi ve směru hodinových ručiček z odpočívadla \( s \) do odpočívadla \( t \) (\( s \neq t \)) je násobkem \( M \).
Najděte počet možných dvojic (\( s, t \)).

Vstup

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

Výstup

Vypsat odpověď jako celé číslo.

Omezení

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

Ukázkový vstup 1

4 3
2 1 4 3

Ukázkový výstup 1

4

- Minimální počet kroků od odpočívadla 1 k odpočívadlu 2 je 2, což není násobek 3.
- Minimální počet kroků od odpočívadla 1 k odpočívadlu 3 je 3, což je násobek 3.
- Minimální počet kroků od odpočívadla 1 k odpočívadlu 4 je 7, což není násobek 3.
- Minimální počet kroků od odpočívadla 2 k odpočívadlu 3 je 1, což není násobek 3.
- Minimální počet kroků od odpočívadla 2 k odpočívadlu 4 je 5, což není násobek 3.
- Minimální počet kroků od odpočívadla 2 k odpočívadlu 1 je 8, což není násobek 3.
- Minimální počet kroků od odpočívadla 3 k odpočívadlu 4 je 4, což není násobek 3.
- Minimální počet kroků od odpočívadla 3 k odpočívadlu 1 je 7, což není násobek 3.
- Minimální počet kroků od odpočívadla 3 k odpočívadlu 2 je 9, což je násobek 3.
- Minimální počet kroků od odpočívadla 4 k odpočívadlu 1 je 3, což je násobek 3.
- Minimální počet kroků od odpočívadla 4 k odpočívadlu 2 je 5, což není násobek 3.
- Minimální počet kroků od odpočívadla 4 k odpočívadlu 3 je 6, což je násobek 3.

Proto existují čtyři možné dvojice (s,t).

Ukázkový vstup 2

2 1000000
1 1

Ukázkový výstup 2

0

Ukázkový vstup 3

9 5
9 9 8 2 4 4 3 5 3

Ukázkový výstup 3

11

Kolem jezera se nachází N odpočívadel.
Odpočívadla jsou očíslována 1, 2, ..., N ve směru hodinových ručiček.
Chůze z odpočívadla i do odpočívadla i+1 trvá A_i kroků ve směru hodinových ručiček (kde odpočívadlo N+1 znamená odpočívadlo 1).
Minimální počet kroků potřebných k chůzi po směru hodinových ručiček z odpočívadla s do odpočívadla t (s \neq t) je násobkem M.
Určete počet možných dvojic (s,t).

Vstup

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

Výstup

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

Omezení

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

Vzorový vstup 1

4 3
2 1 4 3

Výstupní vzorek 1

4

- Minimální počet kroků pro chůzi po směru hodinových ručiček z odpočívadla 1 do odpočívadla 2 je 2, což není násobek 3.
- Minimální počet kroků z odpočívadla 1 do odpočívadla 3 ve směru hodinových ručiček je 3, což je násobek 3.
- Minimální počet kroků z odpočívadla 1 do odpočívadla 4 ve směru hodinových ručiček je 7, což není násobek 3.
- Minimální počet kroků z odpočívadla 2 do odpočívadla 3 ve směru hodinových ručiček je 1, což není násobek 3.
- Minimální počet kroků z odpočívadla 2 do odpočívadla 4 ve směru hodinových ručiček je 5, což není násobek 3.
- Minimální počet kroků z odpočívadla 2 do odpočívadla 1 po směru hodinových ručiček je 8, což není násobek 3.
- Minimální počet kroků z odpočívadla 3 do odpočívadla 4 ve směru hodinových ručiček je 4, což není násobek 3.
- Minimální počet kroků z odpočívadla 3 do odpočívadla 1 ve směru hodinových ručiček je 7, což není násobek 3.
- Minimální počet kroků z odpočívadla 3 do odpočívadla 2 po směru hodinových ručiček je 9, což není násobek 3.
- Minimální počet kroků z odpočívadla 4 do odpočívadla 1 po směru hodinových ručiček je 3, což není násobek 3.
- Minimální počet kroků z odpočívadla 4 do odpočívadla 2 po směru hodinových ručiček je 5, což není násobek 3.
- Minimální počet kroků z odpočívadla 4 do odpočívadla 3 po směru hodinových ručiček je 6, což je násobek 3.

Existují tedy čtyři možné dvojice (s,t).

Vzorový vstup 2

2 1000000
1 1

Vzorový výstup 2

0

Vzorový vstup 3

9 5
9 9 8 2 4 4 3 5 3

Vzorový výstup 3

11

Kolem jezera je N odpočívadel.
Odpočívadla jsou očíslována 1, 2, ..., N ve směru hodinových ručiček.
K chůzi z odpočívadla i do odpočívadla i+1 ve směru hodinových ručiček je třeba kroků A_i (kde odpočívadlo N+1 označuje odpočívadlo 1).
Minimální počet kroků potřebný k chůzi ve směru hodinových ručiček z odpočívadla s do odpočívadla t (s \neq t) je násobkem M.
Najděte počet možných dvojic (s,t).

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_N

Výstup

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

Omezení

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

Ukázkový vstup 1

4 3
2 1 4 3

Ukázkový výstup 1

4

- Minimální počet kroků pro chůzi ve směru hodinových ručiček z odpočívadla 1 do odpočívadla 2 jsou 2, což není násobek 3.
- Minimální počet kroků pro chůzi ve směru hodinových ručiček z odpočívadla 1 do odpočívadla 3 jsou 3, což je násobek 3.
- Minimální počet kroků pro chůzi ve směru hodinových ručiček z odpočívadla 1 do odpočívadla 4 je 7, což není násobek 3.
- Minimální počet kroků pro chůzi ve směru hodinových ručiček z odpočívadla 2 do odpočívadla 3 je 1, což není násobek 3.
- Minimální počet kroků pro chůzi ve směru hodinových ručiček z odpočívadla 2 do odpočívadla 4 je 5, což není násobek 3.
- Minimální počet kroků pro chůzi ve směru hodinových ručiček z odpočívadla 2 do odpočívadla 1 je 8, což není násobek 3.
- Minimální počet kroků pro chůzi ve směru hodinových ručiček z odpočívadla 3 do odpočívadla 4 jsou 4, což není násobek 3.
- Minimální počet kroků pro chůzi ve směru hodinových ručiček z odpočívadla 3 na odpočívadlo 1 je 7, což není násobek 3.
- Minimální počet kroků pro chůzi ve směru hodinových ručiček z odpočívadla 3 do odpočívadla 2 je 9, což je násobek 3.
- Minimální počet kroků pro chůzi ve směru hodinových ručiček z odpočívadla 4 do odpočívadla 1 jsou 3, což je násobek 3.
- Minimální počet kroků pro chůzi ve směru hodinových ručiček z odpočívadla 4 do odpočívadla 2 je 5, což není násobek 3.
- Minimální počet kroků pro chůzi ve směru hodinových ručiček z odpočívadla 4 do odpočívadla 3 je 6, což je násobek 3.

Proto existují čtyři možné dvojice (s,t).

Ukázkový vstup 2

2 1000 000
11

Ukázkový výstup 2

0

Ukázkový vstup 3

95
9 9 8 2 4 4 3 5 3

Ukázkový výstup 3

11


Vypište všechny celočíselné posloupnosti délky N, které splňují následující podmínky, ve vzestupném lexikografickém pořadí.

- i-tý prvek je mezi 1 a R_i včetně.
- Součet všech prvků je násobkem K.

 Co je to lexikografické pořadí posloupností?
Posloupnost A = (A_1, \ldots, A_{|A|}) je lexikograficky menší než B = (B_1, \ldots, B_{|B|}), jestliže platí 1. nebo 2. níže:

- (A_{1},\ldots,A_{|A|}) = (B_1,\ldots,B_{|A|}).
- Existuje celé číslo 1\leq i\leq \min\{|A|,|B|\} takové, že platí obě následující podmínky:

- (A_{1},\ldots,A_{i-1}) = (B_1,\ldots,B_{i-1}).
- A_i < B_i

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N K
R_1 R_2 \dots R_N

Výstup

Vypište odpověď v následujícím formátu, kde X je počet sekvencí, které se mají vypsat, z nichž i-tá je A_i=(A_{i,1},A_{i,2},\dots,A_{i,N}):
A_{1,1} A_{1,2} \dots A_{1,N}
A_{2,1} A_{2,2} \dots A_{2,N}
\vdots
A_{X,1} A_{X,2} \dots A_{X,N}

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 8
- 2 \le K \le 10
- 1 \le R_i \le 5

Vzorový vstup 1

3 2
2 1 3

Výstupní vzorek 1

1 1 2
2 1 1
2 1 3

Vypíšou se tři posloupnosti, které jsou (1,1,2),(2,1,1),(2,1,3) v lexikografickém pořadí.

Ukázkový vstup 2

1 2
1

Ukázkový výstup 2

Nemusí být vypsány žádné posloupnosti.
V takovém případě může být výstup prázdný.

Ukázka vstupu 3

5 5
2 3 2 3 2

Ukázkový výstup 3

1 1 1 1 1
1 2 2 3 2
1 3 1 3 2
1 3 2 2 2
1 3 2 3 1
2 1 2 3 2
2 2 1 3 2
2 2 2 2 2
2 2 2 3 1
2 3 1 2 2
2 3 1 3 1
2 3 2 1 2
2 3 2 2 1

Vytiskne všechny celé sekvence o délce N, které splňují následující podmínky, ve vzestupném lexikografickém pořadí.

- i-tý prvek je mezi 1 a R_i včetně.
- Součet všech prvků je násobkem K.

Jaké je lexikografické pořadí sekvencí?
Posloupnost A = (A_1,\ldots, A_{|A|}) je lexikograficky menší než B = (B_1, \ldots, B_{|B|}) Pokud buď 1. nebo 2. Níže platí:

- |A|<|B| a (A_{1},\ldots,A_{|A|}) = (B_1,\ldots,B_{|A|}).
- Existuje celé číslo 1\leq i\leq \min{|A|,|B|\} tak, že platí obě následující podmínky:

- (A_{1}\,ldots,A_{i-1}) = (B_1,\ldots,B_{i-1})
- A_i < B_i

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N K
R_1 R_2\ dots R_N

Výstup

Vytiskněte odpověď v následujícím formátu, kde X je počet sekvencí, které se mají vypsat, přičemž i-tá z nich je A_i=(A_{i,1},A_{i,2},dots,A_{i,N}):
A_{1,1} A_{1,2} \dots A_{1,N}
A_{2,1} A_{2,2} \dots A_{2,N}
\vdots
A_{X,1} A_{X,2}\ dots A_{X,N}
Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1\ le N\ le 8
- 2\ le K\ le 10
- 1\ le R_i \le 5

Vzorový vstup 1

3 2
2 1 3

Ukázkový výstup 1

1 1 2
2 1 1
2 1 3

Mají se vytisknout tři sekvence, které jsou (1,1,2),(2,1,1),(2,1,3) v lexikografickém pořadí.

Vzorkovací vstup 2

1 2
1

Ukázkový výstup 2

Nemusí být k dispozici žádné sekvence k tisku.
V tomto případě může být výstup prázdný.

Vzorkovací vstup 3

5 5
2 3 2 3 2

Ukázkový výstup 3

1 1 1 1 1
1 2 2 3 2
1 3 1 3 2
1 3 2 2 2
1 3 2 3 1
2 1 2 3 2
2 2 1 3 2
2 2 2 2 2
2 2 2 3 1
2 3 1 2 2
2 3 1 3 1
2 3 2 1 2
2 3 2 2 1

Vytiskněte všechny celočíselné posloupnosti délky N, které splňují následující podmínky, v rostoucím lexikografickém pořadí.

- i-tý prvek je mezi 1 a R_i, včetně.
- Součet všech prvků je násobkem K.

Co je lexikografické pořadí pro posloupnosti?
Posloupnost A = (A_1, \ldots, A_{|A|}) je lexikograficky menší než B = (B_1, \ldots, B_{|B|}) pokud platí buď 1. nebo 2.:

- |A|<|B| a (A_{1},\ldots,A_{|A|}) = (B_1,\ldots,B_{|A|}).
- Existuje celé číslo 1\leq i\leq \min\{|A|,|B|\} takové, že obě z následujících jsou pravdivé:

- (A_{1},\ldots,A_{i-1}) = (B_1,\ldots,B_{i-1})
- A_i < B_i

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N K
R_1 R_2 \dots R_N

Výstup

Vytiskněte odpověď v následujícím formátu, kde X je počet posloupností k vytištění, i-tá z nich je A_i=(A_{i,1},A_{i,2},\dots,A_{i,N}):
A_{1,1} A_{1,2} \dots A_{1,N}
A_{2,1} A_{2,2} \dots A_{2,N}
\vdots
A_{X,1} A_{X,2} \dots A_{X,N}

Omezení

- Všechny vstupní hodnoty jsou celá čísla.
- 1 \le N \le 8
- 2 \le K \le 10
- 1 \le R_i \le 5

Ukázkový vstup 1

3 2
2 1 3

Ukázkový výstup 1

1 1 2
2 1 1
2 1 3

Existují tři posloupnosti k vytištění, které jsou (1,1,2),(2,1,1),(2,1,3) v lexikografickém pořadí.

Ukázkový vstup 2

1 2
1

Ukázkový výstup 2

Může se stát, že nejsou žádné posloupnosti k vytištění.
V tomto případě může být výstup prázdný.

Ukázkový vstup 3

5 5
2 3 2 3 2

Vzorový výstup 3**

```
1 1 1 1 1
1 2 2 3 2
1 3 1 3 2
1 3 2 2 2
1 3 2 3 1
2 1 2 3 2
2 2 1 3 2
2 2 2 2 2
2 2 2 3 1
2 3 1 2 2
2 3 1 3 1
2 3 2 1 2


Máte dány posloupnosti kladných celých čísel A a B délky N. Zpracujte Q dotazů v daných formách v pořadí, v jakém jsou zadány. Každý dotaz je jednoho z následujících tří typů.

-
Typ 1: V zadání 1 i x. Nahraďte A_i hodnotou x.

-
Typ 2: V zadání 2 i x. Nahraďte B_i hodnotou x.

-
Typ 3: V zadání 3 l r. Vyřešte následující problém a vytiskněte odpověď.

-
Nejdříve nastavte v = 0. Pro i = l, l+1, ..., r v tomto pořadí nahraďte v buď v + A_i nebo v \times B_i. Najděte maximální možnou hodnotu v na konci.

Je zaručeno, že odpovědi na dané dotazy typu 3 jsou nejvýše 10^{18}.

Vstup

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

Zde je query_i i-tý dotaz, daný v jednom z následujících formátů:
1 i x

2 i x

3 l r

Výstup

Nechť q je počet dotazů typu 3. Vytiskněte q řádků. i-tý řádek by měl obsahovat odpověď na i-tý dotaz typu 3.

Omezení

- 1 \leq N \leq 10^5
- 1 \leq A_i \leq 10^9
- 1 \leq B_i \leq 10^9
- 1 \leq Q \leq 10^5
- Pro dotazy typu 1 a 2, 1 \leq i \leq N.
- Pro dotazy typu 1 a 2, 1 \leq x \leq 10^9.
- Pro dotazy typu 3, 1 \leq l \leq r \leq N.
- Pro dotazy typu 3, hodnota k vytisknutí je nejvýše 10^{18}.

Ukázkový vstup 1

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

Ukázkový výstup 1

12
7

Pro první dotaz, odpověď je ((0 + A_1) \times B_2) \times B_3 = 12.
Pro třetí dotaz, odpověď je ((0 + A_1) + A_2) + A_3 = 7.

Ukázkový vstup 2

6
65 32 12 5 8 312
4 1 3 15 16 2
6
3 2 6
3 1 5
1 5 6
2 4 9
3 2 6
3 3 5

Ukázkový výstup 2

46080
69840
27648
1728

Dostanete posloupnosti kladných celých čísel A a B délky N. Zpracujte Q dotazy zadané v následujících formulářích v pořadí, v jakém jsou uvedeny. Každý dotaz je jednoho z následujících tří typů.

-
Typ 1: Dáno ve tvaru 1 i x. A_i nahraďte x.

-
Typ 2: Dáno ve tvaru 2 i x. Nahraďte B_i x.

-
Typ 3: Udává se ve tvaru 3 l r. Vyřešte následující problém a vytiskněte odpověď.

-
Zpočátku nastavte v = 0. Pro i = l, l+1, ..., r v tomto pořadí nahraďte v buď v + A_i nebo v \times B_i. Najděte maximální možnou hodnotu v na konci.

Je zaručeno, že odpovědí na dané dotazy typu 3 je maximálně 10^{18}.

Vstup

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

Dotaz_i je zde i-tý dotaz zadaný v jednom z následujících formátů:
1 i x

2 i x

3 l r

Výstup

Nechť q je počet dotazů typu 3. Tisk q řádků. I-tý řádek by měl obsahovat odpověď na i-tý dotaz 3. typu.

Omezení

- 1 \leq N \leq 10^5
- 1 \leq A_i \leq 10^9
- 1 \leq B_i \leq 10^9
- 1 \leq Q \leq 10^5
- Pro dotazy typu 1 a 2 1 \leq i \leq N.
- Pro dotazy typu 1 a 2 1 \leq x \leq 10^9.
- Pro dotazy typu 3, 1 \leq l \leq r \leq N.
- U dotazů typu 3 je vytištěná hodnota maximálně 10^{18}.

Ukázkový vstup 1

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

Ukázkový výstup 1

12
7

Pro první dotaz je odpověď ((0 + A_1) \times B_2) \times B_3 = 12.
U třetího dotazu je odpověď ((0 + A_1) + A_2) + A_3 = 7.

Ukázkový vstup 2

6
65 32 12 5 8 312
4 1 3 15 16 2
6
3 2 6
3 1 5
1 5 6
2 4 9
3 2 6
3 3 5

Ukázkový výstup 2

46080
69840
27648
1728

Jsou dány posloupnosti kladných celých čísel A a B délky N. Zpracujte dotazy Q zadané v následujících tvarech v pořadí, v jakém jsou uvedeny. Každý dotaz je jednoho z následujících tří typů.

-
Typ 1: Zadán ve tvaru 1 i x. Nahraďte A_i za x.

-
Typ 2: Zadán ve tvaru 2 i x. Nahraďte B_i za x.

-
Typ 3: Dáno ve tvaru 3 l r. Vyřešte následující úlohu a vypište odpověď.

-
Na začátku nastavte v = 0. Pro i = l, l+1, ..., r v tomto pořadí nahraďte v buď v + A_i, nebo v \krát B_i. Na konci najděte maximální možnou hodnotu v.

Je zaručeno, že odpovědi na dané dotazy typu 3 jsou nejvýše 10^{18}.

Vstup

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

Zde je query_i i-tý dotaz zadaný v jednom z následujících formátů:
1 i x

2 i x

3 l r

Výstup

Nechť q je počet dotazů typu 3. Vypište q řádků. Na i-tém řádku by měla být odpověď na i-tý dotaz typu 3.

Omezení

- 1 \leq N \leq 10^5
- 1 \leq A_i \leq 10^9
- 1 \leq B_i \leq 10^9
- 1 \leq Q \leq 10^5
- Pro dotazy typu 1 a 2 platí 1 \leq i \leq N.
- Pro dotazy typu 1 a 2 platí: 1 \leq x \leq 10^9.
- Pro dotazy typu 3 1 \leq l \leq r \leq N.
- Pro dotazy typu 3 je vypisovaná hodnota nejvýše 10^{18}.

Ukázkový vstup 1

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

Ukázka výstupu 1

12
7

Pro první dotaz je odpověď ((0 + A_1) \krát B_2) \krát B_3 = 12.
U třetího dotazu je odpověď ((0 + A_1) + A_2) + A_3 = 7.

Vzorkovací vstup 2

6
65 32 12 5 8 312
4 1 3 15 16 2
6
3 2 6
3 1 5
1 5 6
2 4 9
3 2 6
3 3 5

Ukázkový výstup 2

46080
69840
27648
1728


Na hromádce je N karet a na i-té kartě shora je napsáno celé číslo A_i.
Vezměte K karet ze spodní části hromádky a položte je na vrchol hromádky, přičemž zachovejte jejich pořadí.
Po této operaci vypište celá čísla zapsaná na kartách shora dolů.

Vstup

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

Výstup

Nechť B_i je celé číslo zapsané na i-té kartě z vrcholu zásobníku po operaci. Vypište B_1,B_2,\ldots,B_N v tomto pořadí, oddělené mezerami.

Omezení

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

Ukázkový vstup 1

5 3
1 2 3 4 5

Ukázkový výstup 1

3 4 5 1 2

Na začátku jsou na kartách zapsána celá čísla 1,2,3,4,5 shora dolů.
Po odebrání tří karet ze spodní části hromádky a jejich položení nahoru jsou celá čísla napsaná na kartách 3,4,5,1,2 shora dolů.

Ukázkový vstup 2

6 2
1 2 1 2 1 2

Ukázkový výstup 2

1 2 1 2 1 2

Celá čísla zapsaná na kartách nemusí být nutně různá.

Je tam hromádka N karet a i-tá karta shora má napsáno celé číslo A_i.
Vezmete K karet ze spodní části hromádky a položíte je na vrch hromádky, přičemž zachováte jejich pořadí.
Po operaci vytiskněte celá čísla napsaná na kartách shora dolů.

Vstup

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

Výstup

Nechť B_i je celé číslo zapsané na i-té kartě z horní části balíčku po operaci. Vytiskněte B_1,B_2,\ldots,B_N v tomto pořadí, oddělené mezerami.

Omezení

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

Ukázkový vstup 1

5 3
1 2 3 4 5

Ukázkový výstup 1

3 4 5 1 2

Zpočátku jsou celá čísla napsaná na kartách 1,2,3,4,5 shora dolů.
Po odebrání tří karet ze spodní části hromádky a jejich umístění navrch se celá čísla zapsaná na kartách stanou 3,4,5,1,2 shora dolů.

Ukázkový vstup 2

6 2
1 2 1 2 1 2

Ukázkový výstup 2

1 2 1 2 1 2

Celá čísla napsaná na kartách nemusí být nutně odlišná.


Je vám dána posloupnost N kladných celých čísel A = (A_1, A_2, \dots ,A_N). Takahashi opakuje následující operaci, dokud A neobsahuje jeden nebo méně kladných prvků:

- Seřaďte A v sestupném pořadí. Poté snižte A_1 i A_2 o 1.

Najděte, kolikrát tuto operaci provedl.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

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

Ukázkový vstup 1

4
1 2 3 3

Ukázkový výstup 1

4

Proces probíhá následovně:

- Po 1. operaci je A (2, 2, 2, 1).
- Po 2. operaci je A (1, 1, 2, 1).
- Po 3. operaci je A (1, 0, 1, 1).
- Po 4. operaci je A (0, 0, 1, 0). A již neobsahuje více než jeden pozitivní prvek, takže zde proces končí.

Ukázkový vstup 2

3
1 1 100

Ukázkový výstup 2

2

Je dána posloupnost N celých kladných čísel A = (A_1, A_2, \dots ,A_N). Takahaši opakuje následující operaci, dokud A neobsahuje jeden nebo méně kladných prvků:

- Seřaďte A sestupně. Potom zmenšete A_1 i A_2 o 1.

Zjistěte, kolikrát tuto operaci provede.

Vstup

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

Výstup

Vypíše odpověď.

Omezení

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

Příklad Vstup 1

4
1 2 3 3

Ukázkový výstup 1

4

Proces probíhá následovně:

- Po 1. operaci je A (2, 2, 2, 1).
- Po 2. operaci je A (1, 1, 2, 1).
- Po 3. operaci je A (1, 0, 1, 1).
- Po 4. operaci je A (0, 0, 1, 0). A již neobsahuje více než jeden kladný prvek, takže zde proces končí.

Ukázka vstupu 2

3
1 1 100

Ukázka výstupu 2

2


Máte sekvenci N kladných celých čísel A = (A_1, A_2, \dots, A_N), kde každý prvek je alespoň 2. Anna a Bruno hrají hru pomocí těchto čísel. Střídají se a jako první hraje Anna, provádějící následující operaci.

- Volně si vyberou celé číslo i \ (1 \leq i \leq N). Poté si volně vyberou kladný dělitel x čísla A_i, který není A_i samotné, a nahradí A_i číslem x.

Hráč, který nemůže provést operaci, prohrává, a druhý hráč vyhrává. Určete, kdo vyhraje za předpokladu, že oba hráči hrají optimálně s cílem vítězství.

Vstup

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

Výstup

Vypište Anna, pokud Anna vyhraje hru, a Bruno, pokud vyhraje Bruno.

Omezení

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

Ukázkový vstup 1

3
2 3 4

Ukázkový výstup 1

Anna

Například, hra může probíhat následovně. Všimněte si, že tento příklad nemusí nutně představovat optimální hru obou hráčů:

- Anna změní A_3 na 2.
- Bruno změní A_1 na 1.
- Anna změní A_2 na 1.
- Bruno změní A_3 na 1.
- Anna nemůže provést operaci, takže Bruno vyhrává.

Ve skutečnosti, pro tento příklad, Anna vždy vyhraje, pokud bude hrát optimálně.

Ukázkový vstup 2

4
2 3 4 6

Ukázkový výstup 2

Bruno

Je dána posloupnost N celých kladných čísel A = (A_1, A_2, \dots ,A_N), kde každý prvek má hodnotu alespoň 2. Anna a Bruno hrají hru s těmito celými čísly. Střídají se, přičemž Anna jde první, a provádějí následující operaci.

- Zvolte si libovolně celé číslo i \ (1 \leq i \leq N). Potom si libovolně zvolte kladný dělitel x čísla A_i, který není A_i samotné, a nahraďte A_i číslem x.

Hráč, který operaci nemůže provést, prohrává a druhý hráč vyhrává. Určete, kdo vyhraje za předpokladu, že oba hráči hrají optimálně na vítězství.

Vstupní údaje

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

Výstup

Vypište Anna, pokud ve hře zvítězila Anna, a Bruno, pokud zvítězil Bruno.

Omezení

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

Ukázka Vstupní údaje 1

3
2 3 4

Ukázkový výstup 1

Anna

Hra může probíhat například takto. Všimněte si, že tento příklad nemusí nutně představovat optimální hru obou hráčů:

- Anna změní A_3 na 2.
- Bruno změní A_1 na 1.
- Anna změní A_2 na 1.
- Bruno změní A_3 na 1.
- Anna nemůže ve svém tahu operovat, takže Bruno vyhrává.

Ve skutečnosti v tomto příkladu Anna vždy vyhrává, pokud hraje optimálně.

Ukázka vstupu 2

4
2 3 4 6

Vzorový výstup 2

Bruno

Dostanete sekvenci N kladných celých čísel A = (A_1, A_2, \tečky ,A_N), kde každý prvek je alespoň 2. Anna a Bruno hrají hru s těmito celými čísly. Střídají se, přičemž Anna jde první a provádějí následující operaci.

- Volně zvolte celé číslo i \ (1 \leq i \leq N). Poté volně vyberte kladného dělitele x z A_i, který není samotným A_i, a nahraďte A_i x.

Hráč, který nemůže provést operaci, prohrává a druhý hráč vyhrává. Určete, kdo vyhraje, za předpokladu, že oba hráči hrají optimálně na vítězství.

Vstup

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

Výstup

Vytiskněte Annu, pokud Anna vyhraje hru, a Bruna, pokud vyhraje Bruno.

Omezení

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

Ukázkový vstup 1

3
2 3 4

Ukázkový výstup 1

Anna

Hra může například probíhat následovně. Upozorňujeme, že tento příklad nemusí nutně představovat optimální hru obou hráčů:

- Anna změní A_3 na 2.
- Bruno změní A_1 na 1.
- Anna změní A_2 na 1.
- Bruno změní A_3 na 1.
- Anna nemůže ve svém tahu operovat, takže vyhrává Bruno.

Ve skutečnosti u tohoto vzorku Anna vždy vyhraje, pokud hraje optimálně.

Ukázkový vstup 2

4
2 3 4 6

Ukázkový výstup 2

Bruno


Hrajete hru.
V řadě je seřazeno N nepřátel a i-tý nepřítel zepředu má zdraví H_i.
Následující akci budete opakovat tak dlouho, dokud zdraví všech nepřátel nebude menší nebo rovno 0, a to pomocí proměnné T inicializované na 0.

- Zvyšte T o 1. Poté zaútočte na nepřítele, který je nejvíce vpředu a má zdraví 1 nebo více. Pokud je T násobkem 3, sníží se zdraví nepřítele o 3; v opačném případě se sníží o 1.

Zjistěte hodnotu T, když zdraví všech nepřátel bude 0 nebo méně.

Zadání

Vstup se zadává ze standardního vstupu v následujícím formátu:
N
H_1 H_2 \ldots H_N

Výstup

Vypíše odpověď.

Omezení

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

Ukázka Vstupní údaje 1

3
6 2 2

Ukázkový výstup 1

8

Akce se provádějí následujícím způsobem:

- T se stává 1. Zaútočte na 1. nepřítele a jeho zdraví se stane 6-1=5.
- T se stane 2. Zaútočte na 1. nepřítele a jeho zdraví se změní na 5-1=4.
- T se změní na 3. Zaútočte na 1. nepřítele a jeho zdraví se změní na 4-3=1.
- T se změní na 4. Zaútočte na 1. nepřítele a jeho zdraví se změní na 1-1=0.
- T se změní na 5. Zaútočte na 2. nepřítele a jeho zdraví se změní na 2-1=1.
- T se stává 6. Zaútočte na 2. nepřítele a jeho zdraví se změní na 1-3=-2.
- T je 7. Zaútočte na 3. nepřítele a jeho zdraví se změní na 2-1=1.
- T se stává 8. Zaútočte na 3. nepřítele a jeho zdraví se změní na 1-1=0.

Ukázka vstupu 2

9
1 12 123 1234 12345 123456 1234567 12345678 123456789

Ukázka výstupu 2

82304529

Vzorový vstup 3

5
1000000000 1000000000 1000000000 1000000000 1000000000

Vzorový výstup 3

3000000000

Pozor na přetečení celých čísel.

Hrajete hru.
V řadě je N nepřátel seřazených v řadě a i-tý nepřítel zepředu má zdraví H_i.
Následující akci budete opakovat, dokud zdraví všech nepřátel neklesne na 0 nebo méně, pomocí proměnné T inicializované na 0.

- Zvyšte T o 1. Poté zaútočte na předního nepřítele se zdravím 1 nebo více. Pokud je T násobkem 3, zdraví nepřítele se sníží o 3; jinak se sníží o 1.

Najděte hodnotu T, když zdraví všech nepřátel klesne na 0 nebo méně.

Vstup

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

Výstup

Vytiskněte odpověď.

Omezení

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

Ukázkový vstup 1

3
6 2 2

Ukázkový výstup 1

8

Akce se provádějí následovně:

- T se stává 1. Zaútočte na 1. nepřítele a jeho zdraví bude 6-1=5.
- T se stává 2. Zaútočte na 1. nepřítele a jeho zdraví bude 5-1=4.
- T se stává 3. Zaútočte na 1. nepřítele a jeho zdraví bude 4-3=1.
- T se stává 4. Zaútočte na 1. nepřítele a jeho zdraví se stane 1-1=0.
- T se stává 5. Zaútočte na 2. nepřítele a jeho zdraví bude 2-1=1.
- T se stává 6. Zaútočte na 2. nepřítele a jeho zdraví se stane 1-3=-2.
- T se stává 7. Zaútočte na 3. nepřítele a jeho zdraví bude 2-1=1.
- T se stává 8. Zaútočte na 3. nepřítele a jeho zdraví bude 1-1=0.

Ukázkový vstup 2

9
1 12 123 1234 12345 123456 1234567 12345678 123456789

Ukázkový výstup 2

82304529

Ukázkový vstup 3

5
1000000000 1000000000 1000000000 1000000000 1000000000

Ukázkový výstup 3

3000000000

Pozor na přetečení celého čísla.