Sie erhalten eine Ganzzahl n und ein 2D-Array „Anforderungen“, wobei „Anforderungen[i] = [end_i, cnt_i]“ den Endindex und die Inversionsanzahl jeder Anforderung darstellt.
Ein Indexpaar (i, j) aus einem ganzzahligen Array nums wird als Inversion bezeichnet, wenn:

i < j und nums[i] > nums[j]

Gibt die Anzahl der Permutationen perm von [0, 1, 2, ..., n – 1] zurück, sodass für alle Anforderungen[i] perm[0..end_i] genau cnt_i Inversionen aufweist.
Da die Antwort sehr groß sein kann, geben Sie sie modulo 10^9 + 7 zurück.

Beispiel 1:

Eingabe: n = 3, requirements = [[2,2],[0,0]]
Ausgabe: 2
Erläuterung:
Die beiden Permutationen sind:

[2, 0, 1]

Das Präfix [2, 0, 1] hat die Umkehrungen (0, 1) und (0, 2).
Präfix [2] hat 0 Inversionen.

[1, 2, 0]

Das Präfix [1, 2, 0] hat die Umkehrungen (0, 2) und (1, 2).
Präfix [1] hat 0 Inversionen.

Beispiel 2:

Eingabe: n = 3, requirements = [[2,2],[1,1],[0,0]]
Ausgabe: 1
Erläuterung:
Die einzige zufriedenstellende Permutation ist [2, 0, 1]:

Das Präfix [2, 0, 1] hat die Umkehrungen (0, 1) und (0, 2).
Präfix [2, 0] hat eine Umkehrung (0, 1).
Präfix [2] hat 0 Inversionen.

Beispiel 3:

Eingabe: n = 2, requirements = [[0,0],[1,0]]
Ausgabe: 1
Erläuterung:
Die einzige zufriedenstellende Permutation ist [0, 1]:

Präfix [0] hat 0 Inversionen.
Präfix [0, 1] hat eine Umkehrung (0, 1).

Einschränkungen:

2 <= n <= 300
1 <= requirements.length <= n
requirements[i] = [end_i, cnt_i]
0 <= end_i <= n - 1
0 <= cnt_i <= 400
Die Eingabe wird so generiert, dass es mindestens ein i gibt, sodass end_i == n - 1 ist.
Die Eingabe wird so generiert, dass alle end_i eindeutig sind.

Sie erhalten eine ganze Zahl n und ein 2D-Array requirements, wobei requirements[i] = [end_i, cnt_i] den Endindex und die Anzahl der Invertierungen für jede Anforderung darstellt.
Ein Paar von Indizes (i, j) aus einem ganzzahligen Array nums wird als Inversion bezeichnet, wenn:

i < j und nums[i] > nums[j]

Geben Sie die Anzahl der Permutationen perm von [0, 1, 2, ..., n - 1] zurück, so dass für alle Anforderungen[i], perm[0..end_i] genau cnt_i Invertierungen hat.
Da die Antwort sehr groß sein kann, geben Sie sie modulo 10^9 + 7 zurück.

Beispiel 1:

Eingabe: n = 3, requirements = [[2,2],[0,0]]
Ausgabe: 2
Erläuterung:
Die beiden Permutationen sind:

[2, 0, 1]

Das Präfix [2, 0, 1] hat die Invertierungen (0, 1) und (0, 2).
Die Vorsilbe [2] hat 0 Invertierungen.

[1, 2, 0]

Die Vorsilbe [1, 2, 0] hat die Invertierungen (0, 2) und (1, 2).
Die Vorsilbe [1] hat 0 Invertierungen.

Beispiel 2:

Eingabe: n = 3, requirements = [[2,2],[1,1],[0,0]]
Ausgabe: 1
Erläuterung:
Die einzige zufriedenstellende Permutation ist [2, 0, 1]:

Das Präfix [2, 0, 1] hat die Invertierungen (0, 1) und (0, 2).
Die Vorsilbe [2, 0] hat eine Inversion (0, 1).
Die Vorsilbe [2] hat 0 Invertierungen.

Beispiel 3:

Eingabe: n = 2, requirements = [[0,0],[1,0]]
Ausgabe: 1
Erläuterung:
Die einzige zufriedenstellende Permutation ist [0, 1]:

Das Präfix [0] hat 0 Invertierungen.
Die Vorsilbe [0, 1] hat eine Inversion (0, 1).

Randbedingungen:

2 <= n <= 300
1 <= Anforderungen.Länge <= n
Anforderungen[i] = [end_i, cnt_i]
0 <= end_i <= n - 1
0 <= cnt_i <= 400
Die Eingabe wird so generiert, dass es mindestens ein i gibt, bei dem end_i == n - 1 ist.
Die Eingabe wird so generiert, dass alle end_i eindeutig sind.

Sie erhalten eine Ganzzahl n und ein 2D-Array „Anforderungen“, wobei „Anforderungen[i] = [end_i, cnt_i]“ den Endindex und die Inversionsanzahl jeder Anforderung darstellt.
Ein Indexpaar (i, j) aus einem ganzzahligen Array nums wird als Inversion bezeichnet, wenn:

i < j und nums[i] > nums[j]

Gibt die Anzahl der Permutationen perm von [0, 1, 2, ..., n – 1] zurück, sodass für alle Anforderungen[i] perm[0..end_i] genau cnt_i Inversionen aufweist.
Da die Antwort sehr groß sein kann, geben Sie sie modulo 10^9 + 7 zurück.

Beispiel 1:

Eingabe: n = 3, Anforderungen = [[2,2],[0,0]]
Ausgabe: 2
Erläuterung:
Die beiden Permutationen sind:

[2, 0, 1]

Das Präfix [2, 0, 1] hat die Umkehrungen (0, 1) und (0, 2).
Präfix [2] hat 0 Inversionen.

[1, 2, 0]

Das Präfix [1, 2, 0] hat die Umkehrungen (0, 2) und (1, 2).
Präfix [1] hat 0 Inversionen.

Beispiel 2:

Eingabe: n = 3, Anforderungen = [[2,2],[1,1],[0,0]]
Ausgabe: 1
Erläuterung:
Die einzige zufriedenstellende Permutation ist [2, 0, 1]:

Das Präfix [2, 0, 1] hat die Umkehrungen (0, 1) und (0, 2).
Präfix [2, 0] hat eine Umkehrung (0, 1).
Präfix [2] hat 0 Inversionen.

Beispiel 3:

Eingabe: n = 2, Anforderungen = [[0,0],[1,0]]
Ausgabe: 1
Erläuterung:
Die einzige zufriedenstellende Permutation ist [0, 1]:

Präfix [0] hat 0 Inversionen.
Präfix [0, 1] hat eine Umkehrung (0, 1).

Einschränkungen:

2 <= n <= 300
1 <= Anforderungen.Länge <= n
Anforderungen[i] = [end_i, cnt_i]
0 <= end_i <= n - 1
0 <= cnt_i <= 400
Die Eingabe wird so generiert, dass es mindestens ein i gibt, sodass end_i == n - 1 ist.
Die Eingabe wird so generiert, dass alle end_i eindeutig sind.


Es gibt einen Kreis aus roten und blauen Kacheln. Sie erhalten eine Reihe ganzzahliger Farben. Die Farbe der Kachel i wird durch farben[i] dargestellt:

farben[i] == 0 bedeutet, dass die Kachel i rot ist.
farben[i] == 1 bedeutet, dass Kachel i blau ist.

Alle 3 zusammenhängenden Kacheln im Kreis mit abwechselnden Farben (die mittlere Kachel hat eine andere Farbe als die linken und rechten Kacheln) werden als alternierende Gruppe bezeichnet.
Gibt die Anzahl der alternierenden Gruppen zurück.
Beachten Sie, dass die ersten und letzten Kacheln als nebeneinander liegend betrachtet werden, da Farben einen Kreis darstellen.

Beispiel 1:

Eingabe: Farben = [1,1,1]
Ausgabe: 0
Erläuterung:

Beispiel 2:

Eingabe: Farben = [0,1,0,0,1]
Ausgabe: 3
Erläuterung:

Abwechselnde Gruppen:

Einschränkungen:

3 <= Farben.Länge <= 100
0 <= farben[i] <= 1

Es gibt einen Kreis aus roten und blauen Steinen. Sie erhalten ein Array mit ganzzahligen Farben. Die Farbe von Kachel i wird durch colors[i] dargestellt:

colors[i] == 0 bedeutet, dass Kachel i rot ist.
colors[i] == 1 bedeutet, dass Kachel i blau ist.

Alle 3 zusammenhängenden Kacheln im Kreis mit abwechselnden Farben (die mittlere Kachel hat eine andere Farbe als ihre linke und rechte Kachel) nennt man eine abwechselnde Gruppe.
Geben Sie die Anzahl der alternierenden Gruppen zurück.
Da die Farben einen Kreis darstellen, werden die erste und die letzte Kachel als nebeneinander liegend betrachtet.

Beispiel 1:

Eingabe: colors = [1,1,1]
Ausgabe: 0
Erläuterung:

Beispiel 2:

Eingabe: colors = [0,1,0,0,1]
Ausgabe: 3
Erläuterung:

Abwechselnde Gruppen:

Constraints:

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


Sie erhalten ein ganzzahliges Array „feindEnergies“, das die Energiewerte verschiedener Feinde angibt.
Sie erhalten außerdem eine Ganzzahl „currentEnergy“, die die Menge an Energie angibt, die Sie ursprünglich haben.
Sie beginnen mit 0 Punkten und alle Feinde sind zunächst nicht markiert.
Sie können eine der folgenden Operationen null oder mehrmals ausführen, um Punkte zu erhalten:

Wählen Sie einen nicht markierten Feind, i, sodass currentEnergy >= feindEnergies[i]. Durch Auswahl dieser Option:

Du erhältst 1 Punkt.
Deine Energie wird durch die Energie des Feindes reduziert, d. h. currentEnergy = currentEnergy - feindEnergies[i].

Wenn Sie mindestens 1 Punkt haben, können Sie einen nicht markierten Feind auswählen, d. Durch Auswahl dieser Option:

Deine Energie erhöht sich um die Energie des Feindes, d. h. aktuelle Energie = aktuelle Energie + FeindEnergie[i].
Der Feind ist markiert.

Geben Sie eine Ganzzahl zurück, die die maximale Punktzahl angibt, die Sie am Ende durch die optimale Ausführung von Operationen erhalten können.

Beispiel 1:

Eingabe: Feindenergie = [3,2,2], aktuelle Energie = 2
Ausgabe: 3
Erläuterung:
Die folgenden Operationen können durchgeführt werden, um 3 Punkte zu erhalten, was das Maximum ist:

Erste Operation auf Feind 1: Punkte erhöhen sich um 1 und aktuelle Energie verringert sich um 2. Punkte = 1 und aktuelle Energie = 0.
Zweite Operation bei Feind 0: currentEnergy erhöht sich um 3 und Feind 0 wird markiert. Also Punkte = 1, aktuelle Energie = 3 und markierte Feinde = [0].
Erste Operation auf Feind 2: Punkte erhöhen sich um 1 und aktuelle Energie verringert sich um 2. Punkte = 2, aktuelle Energie = 1 und markierte Feinde = [0].
Zweite Operation an Feind 2: Die aktuelle Energie erhöht sich um 2 und Feind 2 wird markiert. Also Punkte = 2, aktuelle Energie = 3 und markierte Feinde = [0, 2].
Erste Operation an Feind 1: Punkte erhöhen sich um 1 und aktuelle Energie verringert sich um 2. Punkte = 3, aktuelle Energie = 1 und markierte Feinde = [0, 2].

Beispiel 2:

Eingabe: Feindenergie = [2], aktuelle Energie = 10
Ausgabe: 5
Erläuterung:
Das fünfmalige Durchführen der ersten Operation bei Feind 0 ergibt die maximale Punktzahl.

Einschränkungen:

1 <= feindEnergies.länge <= 10^5
1 <= FeindEnergien[i] <= 10^9
0 <= aktuelle Energie <= 10^9

Du erhältst ein ganzzahliges Array von Feindenergien, das die Energiewerte verschiedener Feinde angibt.
Du erhältst auch eine Ganzzahl currentEnergy, die die Energiemenge angibt, die du anfänglich hast.
Du beginnst mit 0 Punkten, und alle Feinde sind zunächst unmarkiert.
Du können eine der folgenden Operationen null oder mehrmals ausführen, um Punkte zu erhalten:

Wähle einen unmarkierten Feind, i, so dass currentEnergy >= enemyEnergies[i]. Wenn du diese Option auswählst:

Du erhältst 1 Punkt.
Deine Energie wird durch die Energie des Gegners reduziert, d.h. currentEnergy = currentEnergy - enemyEnergies[i].

Wenn du mindestens 1 Punkt hast, kannst du einen unmarkierten Feind, i, wählen. Wenn du diese Option auswählst:

Deine Energie erhöht sich um die Energie des Gegners, d.h. currentEnergy = currentEnergy + enemyEnergies[i].
Der Feind i ist markiert.

Geben Du eine Ganzzahl zurück, die die maximale Punktzahl angibt, die Du am Ende durch optimale Ausführung von Operationen erzielen können.

Beispiel 1:

Eingabe: enemyEnergies = [3,2,2], currentEnergy = 2
Ausgabe: 3
Erklärung:
Die folgenden Operationen können durchgeführt werden, um 3 Punkte zu erhalten, was das Maximum ist:

Erste Operation bei Feind 1: Die Punkte erhöhen sich um 1 und die aktuelle Energie verringert sich um 2. Also, Punkte = 1 und currentEnergy = 0.
Zweite Operation auf Feind 0: Die aktuelle Energie erhöht sich um 3 und Feind 0 wird markiert. Also, Punkte = 1, aktuelle Energie = 3 und markierte Feinde = [0].
Erste Operation bei Feind 2: Die Punkte werden um 1 erhöht und die aktuelle Energie wird um 2 verringert. Also, Punkte = 2, aktuelle Energie = 1 und markierte Feinde = [0].
Zweite Operation gegen Feind 2: Die aktuelle Energie erhöht sich um 2 und Feind 2 wird markiert. Also, Punkte = 2, aktuelle Energie = 3 und markierte Feinde = [0, 2].
Erste Operation bei Feind 1: Die Punkte erhöhen sich um 1 und die aktuelle Energie verringert sich um 2. Also, Punkte = 3, aktuelle Energie = 1 und markierte Feinde = [0, 2].

Beispiel 2:

Eingabe: enemyEnergies = [2], currentEnergy = 10
Ausgabe: 5
Erklärung:
Wenn die erste Operation 5 Mal auf Feind 0 ausgeführt wird, erhält man die maximale Punktzahl.

Einschränkungen:

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

Sie erhalten ein ganzzahliges Array „feindEnergies“, das die Energiewerte verschiedener Feinde angibt.
Sie erhalten außerdem eine Ganzzahl „aktuelle Energie“, die die Menge an Energie angibt, die Sie ursprünglich haben.
Sie beginnen mit 0 Punkten und alle Feinde sind zunächst nicht markiert.
Sie können eine der folgenden Operationen null oder mehrmals ausführen, um Punkte zu erhalten:

Wählen Sie einen nicht markierten Feind, i, sodass aktuelle Energie >= feindEnergies[i]. Wenn Sie diese Option wählen:

Sie erhältst 1 Punkt.
Deine Energie wird durch die Energie des Feindes reduziert, d. h. aktuelle Energie = aktuelle Energie - feindEnergies[i].

Wenn Sie mindestens 1 Punkt haben, können Sie einen nicht markierten Feind auswählen, d. Wenn Sie diese Option wählen:

Deine Energie erhöht sich um die Energie des Feindes, d. h. aktuelle Energie = aktuelle Energie + FeindEnergien.
Der Feind wird markiert.

Geben Sie eine Ganzzahl zurück, die die maximale Punktzahl angibt, die Sie am Ende durch die optimale Ausführung von Operationen erhalten können.

Beispiel 1:

Eingabe: FeindEnergien = [3,2,2], aktuelle Energie = 2
Ausgabe: 3
Erläuterung:
Die folgenden Operationen können durchgeführt werden, um 3 Punkte zu erhalten, was das Maximum ist:

Erste Operation auf Feind 1: Punkte erhöhen sich um 1 und aktuelle Energie verringert sich um 2. Punkte = 1 und aktuelle Energie = 0.
Zweite Operation bei Feind 0: aktuelle Energie erhöht sich um 3 undFeind 0 ist markiert. Also Punkte = 1, aktuelle Energie = 3 und markierte Feinde = [0].
Erste Operation auf Feind 2: Punkte erhöhen sich um 1 und aktuelle Energie verringert sich um 2. Punkte = 2, aktuelle Energie = 1 und markierte Feinde = [0].
Zweite Operation an Feind 2: Die aktuelle Energie erhöht sich um 2 und Feind 2 wird markiert. Also Punkte = 2, aktuelle Energie = 3 und markierte Feinde = [0, 2].
Erste Operation an Feind 1: Punkte erhöhen sich um 1 und aktuelle Energie verringert sich um 2. Punkte = 3, aktuelle Energie = 1 und markierte Feinde = [0, 2].

Beispiel 2:

Eingabe: FeindEnergien = [2], aktuelle Energie = 10
Ausgabe: 5
Erläuterung:
Das fünfmalige Durchführen der ersten Operation bei Feind 0 ergibt die maximale Punktzahl.

Einschränkungen:

1 <= feindEnergies.länge <= 10^5
1 <= FeindEnergien <= 10^9
0 <= aktuelle Energie <= 10^9


Geben Sie bei einem Array von ganzen Zahlen nums und einer ganzen Zahl k die Anzahl der Subarrays von nums zurück, bei denen das bitweise UND der Elemente des Subarrays gleich k ist.

Beispiel 1:

Eingabe: nums = [1,1,1], k = 1
Ausgabe: 6
Erläuterung:
Alle Subarrays enthalten nur 1en.

Beispiel 2:

Eingabe: nums = [1,1,2], k = 1
Ausgabe: 3
Erläuterung:
Subarrays mit einem UND-Wert von 1 sind: [1,1,2], [1,1,2], [1,1,2].

Beispiel 3:

Eingabe: nums = [1,2,3], k = 2
Ausgabe: 2
Erläuterung:
Subarrays mit einem UND-Wert von 2 sind: [1,2,3], [1,2,3].

Beschränkungen:

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

Gegeben ein Array von ganzen Zahlen nums und eine ganze Zahl k, gib die Anzahl der Teilarrays von nums zurück, bei denen das bitweise AND der Elemente des Teilarrays gleich k ist.

Beispiel 1:

Eingabe: nums = [1,1,1], k = 1
Ausgabe: 6
Erläuterung:
Alle Teilarrays enthalten nur 1en.

Beispiel 2:

Eingabe: nums = [1,1,2], k = 1
Ausgabe: 3
Erläuterung:
Teilarrays mit einem AND-Wert von 1 sind: [1,1,2], [1,1,2], [1,1,2].

Beispiel 3:

Eingabe: nums = [1,2,3], k = 2
Ausgabe: 2
Erläuterung:
Teilarrays mit einem AND-Wert von 2 sind: [1,2,3], [1,2,3].

Einschränkungen:

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

Geben Sie bei einem gegebenen Array von Ganzzahlen nums und einer ganzen Zahl k die Anzahl der Unterarrays von nums zurück, wobei das bitweise UND der Elemente des Unterarrays gleich k ist.

Beispiel 1:

Eingabe: nums = [1,1,1], k = 1
Ausgabe: 6
Erläuterung:
Alle Subarrays enthalten nur 1en.

Beispiel 2:

Eingabe: nums = [1,1,2], k = 1
Ausgabe: 3
Erläuterung:
Subarrays mit einem AND-Wert von 1 sind: [1,1,2], [1,1,2], [1,1,2].

Beispiel 3:

Eingabe: nums = [1,2,3], k = 2
Ausgabe: 2
Erläuterung:
Unterarrays mit einem AND-Wert von 2 sind: [1,2,3], [1,2,3].

Einschränkungen:

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


Sie erhalten zwei positive ganze Zahlen x und y, die die Anzahl der Münzen mit den Werten 75 bzw. 10 angeben.
Alice und Bob spielen ein Spiel. In jeder Runde, beginnend mit Alice, muss der Spieler Münzen im Gesamtwert von 115 einsammeln. Gelingt dies dem Spieler nicht, verliert er das Spiel.
Geben Sie den Namen des Spielers zurück, der das Spiel gewinnt, wenn beide Spieler optimal spielen.

Beispiel 1:

Eingabe: x = 2, y = 7
Ausgabe: „Alice“
Erläuterung:
Das Spiel endet in einer einzigen Runde:

Alice wählt 1 Münze mit einem Wert von 75 und 4 Münzen mit einem Wert von 10.

Beispiel 2:

Eingabe: x = 4, y = 11
Ausgabe: „Bob“
Erläuterung:
Das Spiel endet in 2 Runden:

Alice wählt 1 Münze mit einem Wert von 75 und 4 Münzen mit einem Wert von 10.
Bob wählt 1 Münze mit einem Wert von 75 und 4 Münzen mit einem Wert von 10.

Einschränkungen:

1 <= x, y <= 100

Sie erhalten zwei positive Ganzzahlen x und y, was die Anzahl der Münzen mit den Werten 75 bzw. 10 bezeichnet.
Alice und Bob spielen ein Spiel. In jeder Runde, beginnend mit Alice, muss der Spieler Münzen mit einem Gesamtwert von 115 aufnehmen. Wenn der Spieler dies nicht kann, verlieren er das Spiel.
Geben Sie den Namen des Gewinners zurück, der das Spiel gewinnt, wenn beide Spieler optimal spielen.

Beispiel 1:

Eingabe: x = 2, y = 7
Ausgabe: "Alice"
Erläuterung:
Das Spiel endet in einer einzigen Runde:

Alice wählt 1 Münze mit einem Wert von 75 und 4 Münzen mit einem Wert von 10.

Beispiel 2:

Eingabe: x = 4, y = 11
Ausgabe: "Bob"
Erläuterung:
Das Spiel endet in 2 Runden:

Alice wählt 1 Münze mit einem Wert von 75 und 4 Münzen mit einem Wert von 10.
Bob wählt 1 Münze mit einem Wert von 75 und 4 Münzen mit einem Wert von 10.

Einschränkungen:

1 <= x, y <= 100


Sie erhalten eine Zeichenfolge s.
Sie können den folgenden Vorgang beliebig oft für s ausführen:

Wählen Sie einen Index i in der Zeichenfolge, sodass sich links vom Index i mindestens ein Zeichen befindet, das gleich s[i] ist, und mindestens ein Zeichen rechts, das ebenfalls gleich s[i] ist.
Löschen Sie das nächste Zeichen links vom Index i, das gleich s[i] ist.
Löschen Sie das nächste Zeichen rechts vom Index i, das gleich s[i] ist.

Gibt die minimale Länge der endgültigen Zeichenfolge zurück, die Sie erreichen können.

Beispiel 1:

Eingabe: s = „abaacbcbb“
Ausgabe: 5
Erläuterung:
Wir führen folgende Operationen durch:

Wählen Sie Index 2 und entfernen Sie dann die Zeichen an den Indizes 0 und 3. Die resultierende Zeichenfolge ist s = „bacbcbb“.
Wählen Sie Index 3 und entfernen Sie dann die Zeichen bei den Indizes 0 und 5. Die resultierende Zeichenfolge ist s = „acbcb“.

Beispiel 2:

Eingabe: s = „aa“
Ausgabe: 2
Erläuterung:
Da wir keine Operationen ausführen können, geben wir die Länge der Originalzeichenfolge zurück.

Einschränkungen:

1 <= s.length <= 2 * 10^5
s besteht nur aus englischen Kleinbuchstaben.

Sie erhalten eine Zeichenkette s.
Sie können den folgenden Vorgang beliebig oft ausführen:

Wählen Sie einen Index i in der Zeichenfolge so aus, dass links vom Index i mindestens ein Zeichen vorhanden ist, das s[i] entspricht, und rechts mindestens ein Zeichen, das ebenfalls s[i entspricht].
Löschen Sie das Zeichen, das links vom Index i am nächsten liegt und gleich s[i] ist.
Löschen Sie das Zeichen, das rechts vom Index i am nächsten liegt und gleich s[i] ist.

Gibt die Mindestlänge der letzten Zeichenfolge s zurück, die Sie erreichen können.

Beispiel 1:

Eingabe: s = "abaacbcbb"
Ausgang: 5
Erklärung:
Wir führen die folgenden Vorgänge durch:

Wählen Sie Index 2 aus, und entfernen Sie dann die Zeichen bei den Indizes 0 und 3. Die resultierende Zeichenfolge ist s = "bacbcbb".
Wählen Sie Index 3 aus, und entfernen Sie dann die Zeichen bei den Indizes 0 und 5. Die resultierende Zeichenfolge ist s = "acbcb".

Beispiel 2:

Eingabe: s = "aa"
Ausgang: 2
Erklärung:
Da wir keine Operationen ausführen können, geben wir die Länge der ursprünglichen Zeichenfolge zurück.

Zwänge:

1 <= s.length <= 2 * 10^5
s besteht nur aus englischen Kleinbuchstaben.

Sie erhalten eine Zeichenfolge s.
Sie können den folgenden Vorgang beliebig oft für s ausführen:

Wählen Sie einen Index i in der Zeichenfolge, sodass sich links vom Index i mindestens ein Zeichen befindet, das gleich s[i] ist, und mindestens ein Zeichen rechts davon, das ebenfalls gleich s[i] ist.
Löschen Sie das nächste Zeichen links vom Index i, das gleich s[i] ist.
Löschen Sie das nächste Zeichen rechts vom Index i, das gleich s[i] ist.

Gibt die minimale Länge der endgültigen Zeichenfolge zurück, die Sie erreichen können.

Beispiel 1:

Eingabe: s = „abaacbcbb“
Ausgabe: 5
Erläuterung:
Wir führen folgende Operationen durch:

Wählen Sie Index 2 und entfernen Sie dann die Zeichen an den Indizes 0 und 3. Die resultierende Zeichenfolge ist s = „bacbcbb“.
Wählen Sie Index 3 und entfernen Sie dann die Zeichen bei den Indizes 0 und 5. Die resultierende Zeichenfolge ist s = „acbcb“.

Beispiel 2:

Eingabe: s = „aa“
Ausgabe: 2
Erläuterung:
Da wir keine Operationen ausführen können, geben wir die Länge der Originalzeichenfolge zurück.

Einschränkungen:

1 <= s.length <= 2 * 10^5
s besteht nur aus englischen Kleinbuchstaben.


Sie erhalten ein ganzzahliges Array nums der Größe n, wobei n gerade ist, und eine ganze Zahl k.
Sie können einige Änderungen am Array vornehmen, wobei Sie in einer Änderung jedes Element im Array durch eine beliebige Ganzzahl im Bereich von 0 bis k ersetzen können.
Sie müssen einige Änderungen (möglicherweise keine) vornehmen, damit das endgültige Array die folgende Bedingung erfüllt:

Es gibt eine ganze Zahl X mit abs(a[i] - a[n - i - 1]) = X für alle (0 <= i < n).

Gibt die Mindestanzahl an Änderungen zurück, die erforderlich sind, um die obige Bedingung zu erfüllen.

Beispiel 1:

Eingabe: Zahlen = [1,0,1,2,4,3], k = 4
Ausgabe: 2
Erläuterung:
Wir können folgende Änderungen durchführen:

Ersetzen Sie nums[1] durch 2. Das resultierende Array ist nums = [1,2,1,2,4,3].
Ersetzen Sie nums[3] durch 3. Das resultierende Array ist nums = [1,2,1,3,4,3].

Die ganze Zahl X ist 2.

Beispiel 2:

Eingabe: Zahlen = [0,1,2,3,3,6,5,4], k = 6
Ausgabe: 2
Erläuterung:
Wir können die folgenden Operationen durchführen:

Ersetzen Sie nums[3] durch 0. Das resultierende Array ist nums = [0,1,2,0,3,6,5,4].
Ersetzen Sie nums[4] durch 4. Das resultierende Array ist nums = [0,1,2,0,4,6,5,4].

Die ganze Zahl X wird 4 sein.

Einschränkungen:

2 <= n == nums.length <= 10^5
n ist gerade.
0 <= nums[i] <= k <= 10^5

Sie erhalten ein Ganzzahl-Array der Größe n, wobei n gerade ist, und eine ganze Zahl k.
Sie können einige Änderungen am Array vornehmen, wobei Sie in einer Änderung jedes Element des Arrays durch eine ganze Zahl im Bereich von 0 bis k ersetzen können.
Sie müssen einige Änderungen vornehmen (möglicherweise keine), so dass das endgültige Array die folgende Bedingung erfüllt:

Es gibt eine Ganzzahl X, so dass abs(a[i] - a[n - i - 1]) = X für alle (0 <= i <n).

Geben Sie die Mindestanzahl von Änderungen zurück, die erforderlich sind, um die obige Bedingung zu erfüllen.

Beispiel 1:

Eingabe: nums = [1,0,1,2,4,3], k = 4
Ausgabe: 2
Erläuterung:
Wir können die folgenden Änderungen ausführen:

nums[1] durch 2 ersetzen. Das resultierende array ist nums = [1,2,1,2,4,3].
nums [3] durch 3. Das resultierende array ist nums = [1,2,1,3,4,3].

Die ganze Zahl X ist 2.

Beispiel 2:

Eingabe: nums = [0,1,2,3,3,6,5,4], k = 6
Ausgabe: 2
Erläuterung:
Wir können die folgenden Operationen ausführen:

nums [3] durch 0 ersetzen. Das resultierende array ist nums = [0,1,2,0,3,6,5,4].
Ersetzen Sie die nums [4] durch 4. Das resultierende array ist nums = [0,1,2,0,4,6,5,4].

Die Ganzzahl X wird 4 sein.

Einschränkungen:

2 <= n == nums.length <= 10^5
n ist gerade.
0 <= nums[i] <= k <= 10^5


Es gibt eine ganze Zahl n, die die Anzahl der Spieler in einem Spiel darstellt, und ein 2D-Array pick, wobei pick[i] = [x_i, y_i] bedeutet, dass der Spieler x_i einen Ball der Farbe y_i ausgewählt hat.
Spieler i gewinnt das Spiel, wenn er strikt mehr als i Bälle derselben Farbe auswählt. Mit anderen Worten:

Spieler 0 gewinnt, wenn er irgendeinen Ball auswählt.
Spieler 1 gewinnt, wenn er mindestens zwei Bälle derselben Farbe auswählt.
...
Spieler i gewinnt, wenn er mindestens i + 1 Bälle derselben Farbe auswählt.

Gebe die Anzahl der Spieler zurück, die das Spiel gewinnen.
Beachte, dass mehrere Spieler das Spiel gewinnen können.

Beispiel 1:

Input: n = 4, pick = [[0,0],[1,0],[1,0],[2,1],[2,1],[2,0]]
Output: 2
Erläuterung:
Spieler 0 und Spieler 1 gewinnen das Spiel, während die Spieler 2 und 3 nicht gewinnen.

Beispiel 2:

Input: n = 5, pick = [[1,1],[1,2],[1,3],[1,4]]
Output: 0
Erläuterung:
Kein Spieler gewinnt das Spiel.

Beispiel 3:

Input: n = 5, pick = [[1,1],[2,4],[2,4],[2,4]]
Output: 1
Erläuterung:
Spieler 2 gewinnt das Spiel, indem er 3 Bälle mit der Farbe 4 auswählt.

Beschränkungen:

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

Sie erhalten eine Ganzzahl n, die die Anzahl der Spieler in einem Spiel darstellt, und einen 2D-Array-Pick, wobei pick[i] = [x_i, y_i] bedeutet, dass der Spieler x_i einen farbigen Ball y_i ausgewählt.
Spieler i gewinnt das Spiel, wenn er strikt mehr als i Bälle der gleichen Farbe wählt. Mit anderen Worten,

Spieler 0 gewinnt, wenn er mindestens eine Kugel wählt.
Spieler 1 gewinnt, wenn er mindestens zwei Bälle der gleichen Farbe auswählt.
...
Spieler i gewinnt, wenn er mindestens i + 1 Kugeln der gleichen Farbe wählt.

Gibt die Anzahl der Spieler zurück, die das Spiel gewonnen haben.
Beachten Sie, dass mehrere Spieler das Spiel gewinnen können.

Beispiel 1:

Eingabe: n = 4, pick = [[0,0],[1,0],[1,0],[2,1],[2,1],[2,0]]
Ausgabe: 2
Erklärung:
Spieler 0 und Spieler 1 gewinnen das Spiel, während die Spieler 2 und 3 nicht gewinnen.

Beispiel 2:

Eingabe: n = 5, pick = [[1,1],[1,2],[1,3],[1,4]]
Ausgabe: 0
Erklärung:
Kein Spieler gewinnt das Spiel.

Beispiel 3:

Eingabe: n = 5, pick = [[1,1],[2,4],[2,4],[2,4]]
Ausgabe: 1
Erklärung:
Spieler 2 gewinnt das Spiel, indem er 3 Bälle mit der Farbe 4 auswählt.

Einschränkungen:

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

Sie erhalten eine Ganzzahl n, die die Anzahl der Spieler in einem Spiel darstellt, und ein 2D-Array pick, wobei pick[i] = [x_i, y_i] angibt, dass der Spieler x_i einen Ball der Farbe y_i ausgewählt hat.
Spieler i gewinnt das Spiel, wenn er unbedingt mehr als i Kugeln derselben Farbe auswählt. Mit anderen Worten,

Spieler 0 gewinnt, wenn er einen Ball wählt.
Spieler 1 gewinnt, wenn er mindestens zwei gleichfarbige Bälle wählt.
...
Spieler i gewinnt, wenn er mindestens i + 1 Bälle derselben Farbe wählt.

Gibt die Anzahl der Spieler zurück, die das Spiel gewinnen.
Beachten Sie, dass mehrere Spieler das Spiel gewinnen können.

Beispiel 1:

Eingabe: n = 4, pick = [[0,0],[1,0],[1,0],[2,1],[2,1],[2,0]]
Ausgabe: 2
Erläuterung:
Spieler 0 und Spieler 1 gewinnen das Spiel, während Spieler 2 und 3 nicht gewinnen.

Beispiel 2:

Eingabe: n = 5, pick = [[1,1],[1,2],[1,3],[1,4]]
Ausgabe: 0
Erläuterung:
Kein Spieler gewinnt das Spiel.

Beispiel 3:

Eingabe: n = 5, pick = [[1,1],[2,4],[2,4],[2,4]]
Ausgabe: 1
Erläuterung:
Spieler 2 gewinnt das Spiel, indem er 3 Bälle mit der Farbe 4 auswählt.

Einschränkungen:

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


Sie erhalten ein m x n binäres Matrixgitter.
Eine Zeile oder Spalte wird als palindromisch betrachtet, wenn ihre Werte vorwärts und rückwärts gleich lauten.
Sie können eine beliebige Anzahl von Zellen im Raster von 0 bis 1 oder von 1 bis 0 umdrehen.
Gibt die Mindestanzahl von Zellen zurück, die umgedreht werden müssen, um entweder alle Zeilen palindromisch oder alle Spalten palindromisch zu machen.

Beispiel 1:

Eingabe: grid = [[1,0,0],[0,0,0],[0,0,1]]
Ausgang: 2
Erklärung:

Wenn Sie die markierten Zellen umdrehen, werden alle Zeilen palindromisch.

Beispiel 2:

Eingabe: grid = [[0,1],[0,1],[0,0]]
Ausgang: 1
Erklärung:

Wenn Sie die markierte Zelle umdrehen, werden alle Spalten palindromisch.

Beispiel 3:

Eingabe: grid = [[1],[0]]
Ausgang: 0
Erklärung:
Alle Zeilen sind bereits palindromisch.

Zwänge:

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

Sie erhalten ein m x n binäres Matrixgitter.
Eine Zeile oder Spalte gilt als palindromisch, wenn ihre Werte vorwärts und rückwärts gleich lauten.
Sie können eine beliebige Anzahl von Zellen im Raster von 0 auf 1 oder von 1 auf 0 umdrehen.
Gibt die Mindestanzahl an Zellen zurück, die gespiegelt werden müssen, um entweder alle Zeilen palindromisch oder alle Spalten palindromisch zu machen.

Beispiel 1:

Eingabe: Gitter = [[1,0,0],[0,0,0],[0,0,1]]
Ausgabe: 2
Erläuterung:

Durch das Umdrehen der hervorgehobenen Zellen werden alle Zeilen palindromisch.

Beispiel 2:

Eingabe: Gitter = [[0,1],[0,1],[0,0]]
Ausgabe: 1
Erläuterung:

Durch das Umdrehen der hervorgehobenen Zelle werden alle Spalten palindromisch.

Beispiel 3:

Eingabe: Gitter = [[1],[0]]
Ausgabe: 0
Erläuterung:
Alle Zeilen sind bereits palindromisch.

Einschränkungen:

m == Gitterlänge
n == Gitter[i].Länge
1 <= m * n <= 2 * 10^5
0 <= Gitter[i][j] <= 1


Es existiert ein ungerichteter Baum mit n Knoten, die von 0 bis n - 1 nummeriert sind. Sie erhalten ein 2D-Integer-Array edges der Länge n - 1, wobei edges[i] = [u_i, v_i] angibt, dass es eine Kante zwischen den Knoten u_i und v_i im Baum gibt.
Zu Beginn sind alle Knoten nicht markiert. Für jeden Knoten i:

Wenn i ungerade ist, wird der Knoten zum Zeitpunkt x markiert, wenn mindestens ein Knoten neben ihm neben dem Zeitpunkt x - 1 markiert wurde.
Wenn i gerade ist, wird der Knoten zum Zeitpunkt x markiert, wenn mindestens ein Knoten neben ihm neben dem Zeitpunkt x - 2 markiert wurde.

Geben Sie eine Array times zurück, in der Zeiten [i] die Zeit sind, in der alle Knoten im Baum markiert werden, wenn Sie zum Zeitpunkt t = 0 den Knoten i markieren.
Beachten Sie, dass die Antwort für jedes Mal [i] unabhängig ist, d. H. Wenn Sie den Knoten i markieren, sind alle anderen Knoten nicht markiert.

Beispiel 1:

Eingabe: edges = [[0,1],[0,2]]
Ausgabe: [2,4,3]
Erläuterung:

Für i = 0:

Knoten 1 ist bei t = 1 und Knoten 2 bei t = 2 markiert.

Für i = 1:

Knoten 0 ist bei t = 2 und Knoten 2 bei t = 4 markiert.

Für i = 2:

Knoten 0 ist bei t = 2 und Knoten 1 bei t = 3 markiert.

Beispiel 2:

Eingabe: edges = [[0,1]]
Ausgabe: [1,2]
Erläuterung:

Für i = 0:

Knoten 1 ist bei t = 1 markiert.

Für i = 1:

Knoten 0 ist bei t = 2 markiert.

Beispiel 3:

Eingabe: edges = [[2,4],[0,1],[2,3],[0,2]]
Ausgabe: [4,6,3,5,5]
Erläuterung:

Einschränkungen:

2 <= n <= 10^5
edges.length == n - 1
edges[i].length == 2
0 <= edges[i][0], edges[i][1] <= n - 1
Die Eingabe wird so erzeugt, dass die Kanten einen gültigen Baum darstellen.

Es existiert ein ungerichteter Baum mit n Knoten mit den Nummern 0 bis n - 1. Sie erhalten ein 2D-Integer-Array mit Kanten der Länge n - 1, wobei Kanten[i] = [u_i, v_i] angibt, dass es eine Kante zwischen den Knoten u_i und gibt v_i im Baum.
Zunächst sind alle Knoten nicht markiert. Für jeden Knoten i:

Wenn i ungerade ist, wird der Knoten zum Zeitpunkt x markiert, wenn mindestens ein Knoten daneben liegt, der zum Zeitpunkt x - 1 markiert wurde.
Wenn i gerade ist, wird der Knoten zum Zeitpunkt x markiert, wenn sich neben ihm mindestens ein Knoten befindet, der zum Zeitpunkt x - 2 markiert wurde.

Gibt ein Array times zurück, wobei times[i] der Zeitpunkt ist, zu dem alle Knoten im Baum markiert werden, wenn Sie Knoten i zum Zeitpunkt t = 0 markieren.
Beachten Sie, dass die Antwort für jedes Mal[i] unabhängig ist, d. h. wenn Sie Knoten i markieren, sind alle anderen Knoten nicht markiert.

Beispiel 1:

Eingabe: Kanten = [[0,1],[0,2]]
Ausgabe: [2,4,3]
Erläuterung:

Für i = 0:

Knoten 1 ist bei t = 1 und Knoten 2 bei t = 2 markiert.

Für i = 1:

Knoten 0 ist bei t = 2 und Knoten 2 bei t = 4 markiert.

Für i = 2:

Knoten 0 ist bei t = 2 und Knoten 1 bei t = 3 markiert.

Beispiel 2:

Eingabe: Kanten = [[0,1]]
Ausgabe: [1,2]
Erläuterung:

Für i = 0:

Knoten 1 ist bei t = 1 markiert.

Für i = 1:

Knoten 0 ist bei t = 2 markiert.

Beispiel 3:

Eingabe: Kanten = [[2,4],[0,1],[2,3],[0,2]]
Ausgabe: [4,6,3,5,5]
Erläuterung:

Einschränkungen:

2 <= n <= 10^5
Kanten.Länge == n - 1
Kanten[i].Länge == 2
0 <= Kanten[i][0], Kanten[i][1] <= n - 1
Die Eingabe wird so generiert, dass Kanten einen gültigen Baum darstellen.

Es existiert ein ungerichteter Baum mit n Knoten mit den Nummern 0 bis n - 1. Sie erhalten ein 2D-Integer-Array mit Kanten der Länge n - 1, wobei Kanten[i] = [u_i, v_i] angibt, dass es eine Kante zwischen den Knoten u_i und gibt v_i im Baum.
Zunächst sind alle Knoten nicht markiert. Für jeden Knoten i:

Wenn i ungerade ist, wird der Knoten zum Zeitpunkt x markiert, wenn mindestens ein Knoten daneben liegt, der zum Zeitpunkt x - 1 markiert wurde.
Wenn i gerade ist, wird der Knoten zum Zeitpunkt x markiert, wenn sich neben ihm mindestens ein Knoten befindet, der zum Zeitpunkt x - 2 markiert wurde.

Gibt ein Array times zurück, wobei times[i] der Zeitpunkt ist, zu dem alle Knoten im Baum markiert werden, wenn Sie Knoten i zum Zeitpunkt t = 0 markieren.
Beachten Sie, dass die Antwort für jedes Mal[i] unabhängig ist, d. h. wenn Sie Knoten i markieren, sind alle anderen Knoten nicht markiert.

Beispiel 1:

Eingabe: edges = [[0,1],[0,2]]
Ausgabe: [2,4,3]
Erläuterung:

Für i = 0:

Knoten 1 ist bei t = 1 und Knoten 2 bei t = 2 markiert.

Für i = 1:

Knoten 0 ist bei t = 2 und Knoten 2 bei t = 4 markiert.

Für i = 2:

Knoten 0 ist bei t = 2 und Knoten 1 bei t = 3 markiert.

Beispiel 2:

Eingabe: edges = [[0,1]]
Ausgabe: [1,2]
Erläuterung:

Für i = 0:

Knoten 1 ist bei t = 1 markiert.

Für i = 1:

Knoten 0 ist bei t = 2 markiert.

Beispiel 3:

Eingabe: edges = [[2,4],[0,1],[2,3],[0,2]]
Ausgabe: [4,6,3,5,5]
Erläuterung:

Einschränkungen:

2 <= n <= 10^5
edges.length == n - 1
edges[i].length == 2
0 <= edges[i][0], edges[i][1] <= n - 1
Die Eingabe wird so generiert, dass Kanten einen gültigen Baum darstellen.


Sie erhalten N lineare Funktionen f_1, f_2, \ldots, f_N, wobei f_i(x) = A_i x + B_i.
Finden Sie den maximal möglichen Wert von f_{p_1}(f_{p_2}(\ldots f_{p_K}(1) \ldots )) für eine Folge p = (p_1, p_2, \ldots, p_K) von K verschiedenen ganzen Zahlen zwischen 1 und N, einschließlich.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N K
A_1 B_1
A_2 B_2
\vdots
A_N B_N

Ausgabe

Geben Sie die Antwort als Ganzzahl aus.

Einschränkungen

- 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)
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

3 2
2 3
1 5
4 2

Beispielausgabe 1

26

Hier sind alle möglichen p und die entsprechenden Werte von 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

Drucken Sie daher 26.

Beispieleingabe 2

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

Beispielausgabe 2

216223

Du hast N lineare Funktionen f_1, f_2, \ldots, f_N, wobei f_i(x) = A_i x + B_i.
Finde den maximal möglichen Wert von f_{p_1}(f_{p_2}(\ldots f_{p_K}(1) \ldots )) für eine Sequenz p = (p_1, p_2, \ldots, p_K) von K verschiedenen ganzen Zahlen zwischen 1 und N, einschließlich.

Eingabe

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N K
A_1 B_1
A_2 B_2
\vdots
A_N B_N

Ausgabe

Gib die Antwort als Ganzzahl aus.

Einschränkungen

- 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)
- Alle Eingabewerte sind ganze Zahlen.

Beispiel Eingabe 1

3 2
2 3
1 5
4 2

Beispiel Ausgabe 1

26

Hier sind alle möglichen p und die entsprechenden Werte von 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

Daher drucke 26.

Beispiel Eingabe 2

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

Beispiel Ausgabe 2

216223


Sie erhalten einen horizontal geschriebenen Text. Wandeln Sie es in vertikale Schrift um und füllen Sie Leerzeichen mit *.

Sie erhalten N Zeichenfolgen S_1, S_2, \dots, S_N bestehend aus englischen Kleinbuchstaben. Sei M die maximale Länge dieser Strings.
Drucken Sie M Zeichenfolgen T_1, T_2, \dots, T_M, die die folgenden Bedingungen erfüllen:

- Jedes T_i besteht aus englischen Kleinbuchstaben und *.
- Jedes T_i endet nicht mit *.
- Für jedes 1 \leq i \leq N gilt:
- Für jedes 1 \leq j \leq |S_i| existiert das (N-i+1)-te Zeichen von T_j und die Verkettung der (N-i+1)-ten Zeichen von T_1, T_2, \dots , T_{|S_i|} in dieser Reihenfolge ist gleich S_i.
- Für jedes |S_i| + 1 \leq j \leq M, das (N-i+1)-te Zeichen von T_j existiert entweder nicht oder ist *.

Hier, |S_i| bezeichnet die Länge der Zeichenfolge S_i.

Eingabe

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N
S_1
S_2
\vdots
S_N

Ausgabe

Drucken Sie die Antwort im folgenden Format aus:
T_1
T_2
\vdots
T_M

Einschränkungen

- N ist eine ganze Zahl zwischen 1 und 100 (einschließlich).
- Jedes S_i ist eine Zeichenfolge aus englischen Kleinbuchstaben mit einer Länge zwischen 1 und 100 (einschließlich).

Beispieleingabe 1

3
abc
de
fghi

Beispielausgabe 1

FDA
geb
h*c
i

Durch Platzieren von * als 2. Zeichen von T_3 wird das c an die richtige Position gebracht.
Andererseits würde die Platzierung von * als 2. und 3. Zeichen von T_4 dazu führen, dass T_4 mit * endet, was gegen die Bedingung verstößt.

Beispieleingabe 2

3
atcoder
beginner
contest

Beispielausgabe 2

cba
oet
ngc
tio
Ende
sne
ter
*R

Sie erhalten einen horizontal geschriebenen Text. Wandeln Sie es in vertikale Schrift um und füllen Sie Leerzeichen mit *.

Sie erhalten N Zeichenfolgen S_1, S_2, \dots, S_N bestehend aus englischen Kleinbuchstaben. Sei M die maximale Länge dieser Strings.
Drucken Sie M-Zeichenfolgen T_1, T_2, \dots, T_M, die die folgenden Bedingungen erfüllen:

- Jedes T_i besteht aus englischen Kleinbuchstaben und *.
- Jedes T_i endet nicht mit *.
- Für jedes 1 \leq i \leq N gilt:
- Für jedes 1 \leq j \leq |S_i| existiert das (N-i+1)-te Zeichen von T_j und die Verkettung der (N-i+1)-ten Zeichen von T_1, T_2, \dots , T_{|S_i|} in dieser Reihenfolge ist gleich S_i.
- Für jedes |S_i| + 1 \leq j \leq M, das (N-i+1)-te Zeichen von T_j existiert entweder nicht oder ist *.

Hier, |S_i| bezeichnet die Länge der Zeichenfolge S_i.

Eingabe

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N
S_1
S_2
\vdots
S_N

Ausgabe

Drucken Sie die Antwort im folgenden Format aus:
T_1
T_2
\vdots
T_M

Einschränkungen

- N ist eine ganze Zahl zwischen 1 und 100 (einschließlich).
- Jedes S_i ist eine Zeichenfolge aus englischen Kleinbuchstaben mit einer Länge zwischen 1 und 100 (einschließlich).

Beispieleingabe 1

3
abc
de
fghi

Beispielausgabe 1

FDA
geb
h*c
i

Durch Platzieren von * als 2. Zeichen von T_3 wird das c an die richtige Position gebracht.
Andererseits würde die Platzierung von * als 2. und 3. Zeichen von T_4 dazu führen, dass T_4 mit * endet, was gegen die Bedingung verstößt.

Beispieleingabe 2

3
atcoder
beginner
contest

Beispielausgabe 2

cba
oet
ngc
tio
Ende
schniefen
ter
*R

Sie erhalten einen horizontal geschriebenen Text. Wandeln Sie es in vertikale Schrift um und füllen Sie Leerzeichen mit *.

Sie erhalten N Zeichenfolgen S_1, S_2, \dots, S_N bestehend aus englischen Kleinbuchstaben. Sei M die maximale Länge dieser Strings.
Drucken Sie M Zeichenfolgen T_1, T_2, \dots, T_M, die die folgenden Bedingungen erfüllen:

- Jedes T_i besteht aus englischen Kleinbuchstaben und *.
- Jedes T_i endet nicht mit *.
- Für jedes 1 \leq i \leq N gilt:
- Für jedes 1 \leq j \leq |S_i| existiert das (N-i+1)-te Zeichen von T_j und die Verkettung der (N-i+1)-ten Zeichen von T_1, T_2, \dots , T_{|S_i|} in dieser Reihenfolge ist gleich S_i.
- Für jedes |S_i| + 1 \leq j \leq M, das (N-i+1)-te Zeichen von T_j existiert entweder nicht oder ist *.

Hier, |S_i| bezeichnet die Länge der Zeichenfolge S_i.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N
S_1
S_2
\vdots
S_N

Ausgabe

Drucken Sie die Antwort im folgenden Format aus:
T_1
T_2
\vdots
T_M

Einschränkungen

- N ist eine ganze Zahl zwischen 1 und 100 (einschließlich).
- Jedes S_i ist eine Zeichenfolge aus englischen Kleinbuchstaben mit einer Länge zwischen 1 und 100 (einschließlich).

Beispieleingabe 1

3
abc
de
fghi

Beispielausgabe 1

fda
geb
h*c
i

Durch Platzieren von * als 2. Zeichen von T_3 wird das c an die richtige Position gebracht.
Andererseits würde die Platzierung von * als 2. und 3. Zeichen von T_4 dazu führen, dass T_4 mit * endet, was gegen die Bedingung verstößt.

Beispieleingabe 2

3
atcoder
Anfänger
Wettbewerb

Beispielausgabe 2

cba
oet
ngc
tio
end
sne
ter
*r


Gegeben sind N Punkte (x_1, y_1), (x_2, y_2), \dots, (x_N, y_N) auf einer zweidimensionalen Ebene und eine nichtnegative ganze Zahl D.
Finde die Anzahl der ganzzahligen Paare (x, y), so dass \displaystyle \sum_{i=1}^N (|x-x_i|+|y-y_i|) \leq D.

Eingabe

Die Eingabe erfolgt über die Standardeingabe in folgendem Format:
N D
x_1 y_1
x_2 y_2
\vdots
x_N y_N

Ausgabe

Druckt die Antwort.

Randbedingungen

- 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) for i \neq j.
- Alle Eingabewerte sind Ganzzahlen.

Beispiel Eingabe 1

2 3
0 0
1 0

Beispiel Ausgang 1

8

Die folgende Abbildung veranschaulicht die Eingabe und die Antwort für Beispiel 1. Die blauen Punkte stellen die Eingabe dar. Die blauen und roten Punkte, insgesamt acht, erfüllen die Bedingung der Anweisung.

Beispiel Eingabe 2

2 0
0 0
2 0

Beispielhafte Ausgabe 2

0

Probe Eingang 3

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

Beispiel Ausgabe 3

419

Sie erhalten N Punkte (x_1, y_1), (x_2, y_2), \dots, (x_N, y_N) auf einer zweidimensionalen Ebene und eine nicht negative ganze Zahl D.
Ermitteln Sie die Anzahl ganzzahliger Paare (x, y), sodass \displaystyle \sum_{i=1}^N (|x-x_i|+|y-y_i|) \leq D.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N.D
x_1 y_1
x_2 y_2
\vdots
x_N y_N

Ausgabe

Drucken Sie die Antwort aus.

Einschränkungen

- 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) für i \neq j.
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

2 3
0 0
1 0

Beispielausgabe 1

8

Die folgende Abbildung visualisiert die Eingabe und die Antwort für Beispiel 1. Die blauen Punkte stellen die Eingabe dar. Die insgesamt acht blauen und roten Punkte erfüllen die Bedingung in der Erklärung.

Beispieleingabe 2

2 0
0 0
2 0

Beispielausgabe 2

0

Beispieleingabe 3

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

Beispielausgabe 3

419


Sie erhalten eine positive ganze Zahl N und eine ganze Zahl A_{x,y,z} für jedes Tripel ganzer Zahlen (x, y, z), sodass 1 \leq x, y, z \leq N.
Sie erhalten Q-Anfragen im folgenden Format, die der Reihe nach verarbeitet werden müssen.
Für die i-te Abfrage (1 \leq i \leq Q) erhalten Sie ein Tupel von ganzen Zahlen (Lx_i, Rx_i, Ly_i, Ry_i, Lz_i, Rz_i), so dass 1 \leq Lx_i \leq Rx_i \leq N, 1 \leq Ly_i \leq Ry_i \leq N, und 1 \leq Lz_i \leq Rz_i \leq N. Finden:
\displaystyle{\sum_{x=Lx_i}^{Rx_i} \sum_{y=Ly_i}^{Ry_i} \sum_{z=Lz_i}^{Rz_i} A_{x,y,z}}.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
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

Ausgabe

Drucken Sie Q-Linien.
Die i-te Zeile sollte die Antwort auf die i-te Anfrage enthalten.

Einschränkungen

- 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)
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

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

Beispielausgabe 1

10
26

Für die 1. Abfrage ist der gesuchte Wert A_{1,2,1} + A_{2,2,1} = 3 + 7 = 10. Geben Sie also 10 aus.
Für die 2. Abfrage ist der gesuchte Wert A_{2,1,1} + A_{2,1,2} + A_{2,2,1} + A_{2,2,2} = 5 + 6 + 7 + 8 = 26. Drucken Sie also 26.

Beispieleingabe 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

Beispielausgabe 2

687
3917
551
1631
5180
3311
1010
4326

Sie erhalten eine positive ganze Zahl N und eine ganze Zahl A_{x,y,z} für jedes Tripel ganzer Zahlen (x, y, z), sodass 1 \leq x, y, z \leq N.
Sie erhalten Q-Anfragen im folgenden Format, die der Reihe nach verarbeitet werden müssen.
Für die i-te Abfrage (1 \leq i \leq Q) erhalten Sie ein Tupel von ganzen Zahlen (Lx_i, Rx_i, Ly_i, Ry_i, Lz_i, Rz_i), so dass 1 \leq Lx_i \leq Rx_i \leq N, 1 \leq Ly_i \leq Ry_i \leq N und 1 \leq Lz_i \leq Rz_i \leq N. Finden Sie:
\displaystyle{\sum_{x=Lx_i}^{Rx_i} \sum_{y=Ly_i}^{Ry_i} \sum_{z=Lz_i}^{Rz_i} A_{x,y,z}}.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
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

Ausgabe

Drucken Sie Q-Linien.
Die i-te Zeile sollte die Antwort auf die i-te Abfrage enthalten.

Einschränkungen

- 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)
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

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

Beispielausgabe 1

10
26

Für die 1. Abfrage ist der gesuchte Wert A_{1,2,1} + A_{2,2,1} = 3 + 7 = 10. Geben Sie also 10 aus.
Für die 2. Abfrage ist der gesuchte Wert A_{2,1,1} + A_{2,1,2} + A_{2,2,1} + A_{2,2,2} = 5 + 6 + 7 + 8 = 26. Drucken Sie also 26.

Beispieleingabe 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

Beispielausgabe 2

687
3917
551
1631
5180
3311
1010
4326

Sie erhalten eine positive ganze Zahl N und eine ganze Zahl A_{x,y,z} für jedes Tripel von ganzen Zahlen (x, y, z), so dass 1 \leq x, y, z \leq N ist.
Sie erhalten Q-Abfragen im folgenden Format, die in der angegebenen Reihenfolge verarbeitet werden müssen.
Für die i-te Abfrage (1 \leq i \leq Q) erhalten Sie ein Tupel von ganzen Zahlen (Lx_i, Rx_i, Ly_i, Ry_i, Lz_i Rz_i), so dass 1 \leq Lx_i \leq Rx_i \leq N, 1 \leq Ly_i \leq Ry_i \leq N und 1 \leq Lz_i \leq Rz_i \leq N ist.
\displaystyle{\sum_{x=Lx_i}^{Rx_i} \sum_{y=Ly_i}^{Ry_i} \sum_{z=Lz_i}^{Rz_i} A_{x,y,z}}.

Eingabe

Die Eingabe erfolgt aus der Standardeingabe im folgenden Format:
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

Ausgabe

Q-Zeilen drucken.
Die i-te Zeile sollte die Antwort auf die i-te Abfrage enthalten.

Zwänge

- 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)
- Alle Eingabewerte sind ganze Zahlen.

Beispiel-Eingang 1

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

Beispiel-Ausgabe 1

10
26

Für die 1. Abfrage lautet der gesuchte Wert A_{1,2,1} + A_{2,2,1} = 3 + 7 = 10. Drucken Sie also 10.
Für die 2. Abfrage lautet der gesuchte Wert A_{2,1,1} + A_{2,1,2} + A_{2,2,1} + A_{2,2,2} = 5 + 6 + 7 + 8 = 26. Drucken Sie also 26.

Beispiel-Eingang 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

Beispiel-Ausgabe 2

687
3917
551
1631
5180
3311
1010
4326


In AtCoder City finden Bürgermeisterwahlen statt. Die Kandidaten sind Takahashi und Aoki.
Für einen der beiden Kandidaten wurden N gültige Stimmen abgegeben, die Auszählung läuft derzeit. Hier ist N eine ungerade Zahl.
Die aktuelle Stimmenzahl beträgt T-Stimmen für Takahashi und A-Stimmen für Aoki.
Stellen Sie fest, ob das Ergebnis der Wahl zu diesem Zeitpunkt bereits feststeht.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N T A

Ausgabe

Drucken Sie „Yes“, wenn das Ergebnis der Wahl bereits feststeht, andernfalls „No“.

Einschränkungen

- 1 \leq N \leq 99
- N ist eine ungerade Zahl.
- 0 \leq T, A \leq N
- T + A \leq N
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

7 4 2

Beispielausgabe 1

Yes

Selbst wenn die verbleibende eine Stimme an Aoki geht, wird Takahashi dennoch gewinnen. Das heißt, sein Sieg ist entschieden, also drucken Sie „Yes“.

Beispieleingabe 2

99 12 48

Beispielausgabe 2

No

Obwohl Aoki derzeit über mehr Stimmen verfügt, würde Takahashi gewinnen, wenn er die restlichen 39 Stimmen erhalten würde. Drucken Sie daher No.

Beispieleingabe 3

1 0 0

Beispielausgabe 3

No

In AtCoder City findet eine Bürgermeisterwahl statt. Die Kandidaten sind Takahashi und Aoki.
Es sind N gültige Stimmen für einen der beiden Kandidaten abgegeben worden, und die Auszählung ist im Gange. Hier ist N eine ungerade Zahl.
Die aktuelle Stimmenzahl ist T Stimmen für Takahashi und A Stimmen für Aoki.
Bestimmen Sie, ob das Ergebnis der Wahl zu diesem Zeitpunkt bereits feststeht.

Eingabe

Die Eingabe erfolgt über die Standardeingabe in folgendem Format:
N T A

Ausgabe

Gibt Yes aus, wenn der Ausgang der Wahl bereits entschieden ist, und ansonsten No.

Einschränkungen

- 1 \leq N \leq 99
- N ist eine ungerade Zahl.
- 0 \leq T, A \leq N
- T + A \leq N
- Alle Eingabewerte sind Ganzzahlen.

Beispiel Eingabe 1

7 4 2

Beispiel Ausgang 1

Yes

Selbst wenn die verbleibende eine Stimme an Aoki geht, wird Takahashi gewinnen. Das heißt, sein Sieg ist entschieden, also drucke Yes.

Eingabebeispiel 2

99 12 48

Beispiel Ausgabe 2

No

Obwohl Aoki derzeit mehr Stimmen hat, würde Takahashi gewinnen, wenn er die restlichen 39 Stimmen erhält. Drucken Sie daher No.

Eingabebeispiel 3

1 0 0

Beispielhafte Ausgabe 3

No

In AtCoder City finden Bürgermeisterwahlen statt. Die Kandidaten sind Takahashi und Aoki.
Für einen der beiden Kandidaten wurden N gültige Stimmen abgegeben, die Auszählung läuft derzeit. Hier ist N eine ungerade Zahl.
Die aktuelle Stimmenzahl beträgt T-Stimmen für Takahashi und A-Stimmen für Aoki.
Stellen Sie fest, ob das Ergebnis der Wahl zu diesem Zeitpunkt bereits feststeht.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N T A

Ausgabe

Drucken Sie Yes, wenn das Ergebnis der Wahl bereits feststeht, andernfalls No.

Einschränkungen

- 1 \leq N \leq 99
- N ist eine ungerade Zahl.
- 0 \leq T, A \leq N
- T + A \leq N
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

7 4 2

Beispielausgabe 1

Yes

Selbst wenn die verbleibende eine Stimme an Aoki geht, wird Takahashi dennoch gewinnen. Das heißt, sein Sieg ist entschieden, also drucken Sie Yes.

Beispieleingabe 2

99 12 48

Beispielausgabe 2

No

Obwohl Aoki derzeit über mehr Stimmen verfügt, würde Takahashi gewinnen, wenn er die restlichen 39 Stimmen erhalten würde. Drucken Sie daher No.

Beispieleingabe 3

1 0 0

Beispielausgabe 3

No


Du hast eine leere Tasche.
Sie erhalten Q-Anfragen, die der Reihe nach abgearbeitet werden müssen.
Es gibt drei Arten von Abfragen.

- 1 x: Legen Sie eine Kugel mit der Zahl x darauf in den Beutel.
- 2 x: Nehmen Sie eine Kugel mit der Zahl x aus dem Beutel und werfen Sie sie weg. Bei dieser Abfrage ist garantiert, dass sich auf dem Beutel eine Kugel befindet, auf der die ganze Zahl x steht.
- 3: Drucken Sie die Anzahl der verschiedenen ganzen Zahlen aus, die auf den Kugeln im Beutel geschrieben sind.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
Q
\text{Abfrage}_1
\text{Abfrage}_2
\vdots
\text{query}_Q

Die i-te Abfrage \text{query}_i wird in einem der folgenden drei Formate angegeben:
1x

2x

3

Ausgabe

Wenn es K Abfragen des dritten Typs gibt, werden K Zeilen gedruckt.
Die i-te Zeile (1 \leq i \leq K) sollte die Antwort auf die i-te Anfrage des dritten Typs enthalten.

Einschränkungen

- 1 \leq Q \leq 2 \times 10^{5}
- 1 \leq x \leq 10^{6}
- Bei einer Abfrage des zweiten Typs befindet sich auf der Tasche eine Kugel, auf der die ganze Zahl x steht.
- Es gibt mindestens eine Abfrage des dritten Typs.
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

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

Beispielausgabe 1

3
2
3

Der Beutel ist zunächst leer.
Bei der ersten Abfrage 1 3 kommt eine Kugel mit der Zahl 3 in den Beutel.
Bei der zweiten Abfrage 1 1 kommt eine Kugel mit der Zahl 1 in den Beutel.
Bei der dritten Abfrage 1 4 kommt eine Kugel mit der Zahl 4 in den Beutel.
Für die vierte Abfrage 3 enthält der Beutel Kugeln mit den ganzen Zahlen 1, 3, 4, also drucken Sie 3.
Bei der fünften Abfrage 2 1 wird eine Kugel, auf der die ganze Zahl 1 steht, aus dem Beutel genommen.
Für die sechste Abfrage 3 enthält der Beutel Kugeln mit den ganzen Zahlen 3, 4, also drucken Sie 2.
Bei der siebten Abfrage 1 5 kommt eine Kugel mit der Zahl 5 in den Beutel.
Für die achte Abfrage 3 enthält der Beutel Kugeln mit den ganzen Zahlen 3, 4, 5, also drucken Sie 3.

Beispieleingabe 2

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

Beispielausgabe 2

1
1

Du hast eine leere Beutel.
Sie erhalten Q-Anfragen, die der Reihe nach abgearbeitet werden müssen.
Es gibt drei Arten von Abfragen.

- 1 x: Legen Sie eine Kugel mit der Zahl x darauf in den Beutel.
- 2 x: Nehmen Sie eine Kugel mit der Aufschrift x aus dem Beutel und werfen Sie sie weg. Bei dieser Abfrage ist garantiert, dass sich im Beutel eine Kugel befindet, auf der die ganze Zahl x steht.
- 3: Drucken Sie die Anzahl der verschiedenen ganzen Zahlen aus, die auf den Kugeln im Beutel stehen.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
Q
\text{Abfrage}_1
\text{Abfrage}_2
\vdots
\text{query}_Q

Die i-te Abfrage \text{query}_i wird in einem der folgenden drei Formate angegeben:
1x

2x

3

Ausgabe

Wenn es K Abfragen des dritten Typs gibt, werden K Zeilen gedruckt.
Die i-te Zeile (1 \leq i \leq K) sollte die Antwort auf die i-te Anfrage des dritten Typs enthalten.

Einschränkungen

- 1 \leq Q \leq 2 \times 10^{5}
- 1 \leq x \leq 10^{6}
- Bei einer Abfrage des zweiten Typs befindet sich auf der Beutel eine Kugel, auf der die ganze Zahl x steht.
- Es gibt mindestens eine Abfrage des dritten Typs.
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

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

Beispielausgabe 1

3
2
3

Der Beutel ist zunächst leer.
Bei der ersten Abfrage 1 3 kommt eine Kugel mit der Zahl 3 in den Beutel.
Bei der zweiten Abfrage 1 1 kommt eine Kugel mit der Zahl 1 in den Beutel.
Bei der dritten Abfrage 1 4 kommt eine Kugel mit der Zahl 4 in den Beutel.
Für die vierte Abfrage 3 enthält der Beutel Kugeln mit den ganzen Zahlen 1, 3, 4, also drucken Sie 3.
Bei der fünften Abfrage 2 1 wird eine Kugel mit der Zahl 1 aus dem Beutel genommen.
Für die sechste Abfrage 3 enthält der Beutel Kugeln mit den ganzen Zahlen 3, 4, also drucken Sie 2.
Bei der siebten Abfrage 1 5 kommt eine Kugel mit der Zahl 5 in den Beutel.
Für die achte Abfrage 3 enthält der Beutel Kugeln mit den ganzen Zahlen 3, 4, 5, also drucken Sie 3.

Beispieleingabe 2

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

Beispielausgabe 2

1
1

Du hast eine leere Tasche.
Sie erhalten Q-Anfragen, die der Reihe nach abgearbeitet werden müssen.
Es gibt drei Arten von Abfragen.

- 1 x: Legen Sie eine Kugel mit der Zahl x darauf in den Beutel.
- 2 x: Nehmen Sie eine Kugel mit der Zahl x aus dem Beutel und werfen Sie sie weg. Bei dieser Abfrage ist garantiert, dass sich auf dem Beutel eine Kugel befindet, auf der die ganze Zahl x steht.
- 3: Geben Sie die Anzahl der verschiedenen ganzen Zahlen aus, die auf den Kugeln im Beutel geschrieben sind.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
Q
\text{Abfrage}_1
\text{Abfrage}_2
\vdots
\text{query}_Q

Die i-te Abfrage query wird in einem der folgenden drei Formate angegeben:
1x

2x

3

Ausgabe

Wenn es K Abfragen des dritten Typs gibt, werden K Zeilen gedruckt.
Die i-te Zeile (1 \leq i \leq K) sollte die Antwort auf die i-te Anfrage des dritten Typs enthalten.

Einschränkungen

- 1 \leq Q \leq 2 \times 10^{5}
- 1 \leq x \leq 10^{6}
- Bei einer Abfrage des zweiten Typs befindet sich im Beutel eine Kugel, auf der die ganze Zahl x steht.
- Es gibt mindestens eine Abfrage des dritten Typs.
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

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

Beispielausgabe 1

3
2
3

Der Beutel ist zunächst leer.
Bei der ersten Abfrage 1 3 kommt eine Kugel mit der Zahl 3 in den Beutel.
Bei der zweiten Abfrage 1 1 kommt eine Kugel mit der Zahl 1 in den Beutel.
Bei der dritten Abfrage 1 4 kommt eine Kugel mit der Zahl 4 in den Beutel.
Für die vierte Abfrage 3 enthält der Beutel Kugeln mit den ganzen Zahlen 1, 3, 4, also drucken Sie 3.
Bei der fünften Abfrage 2 1 wird eine Kugel mit der Zahl 1 aus dem Beutel genommen.
Für die sechste Abfrage 3 enthält der Beutel Kugeln mit den ganzen Zahlen 3, 4, also drucken Sie 2.
Bei der siebten Abfrage 1 5 kommt eine Kugel mit der Zahl 5 in den Beutel.
Für die achte Abfrage 3 enthält der Beutel Kugeln mit den ganzen Zahlen 3, 4, 5, also drucken Sie 3.

Beispieleingabe 2

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

Beispielausgabe 2

1
1


Sie erhalten einen einfachen ungerichteten Graphen mit N Eckpunkten und M Kanten. Die i-te Kante verbindet die Eckpunkte u_i und v_i bidirektional.
Stellen Sie fest, ob es eine Möglichkeit gibt, eine Ganzzahl zwischen 1 und 2^{60} – 1 (einschließlich) auf jeden Scheitelpunkt dieses Diagramms zu schreiben, sodass die folgende Bedingung erfüllt ist:

- Für jeden Scheitelpunkt v mit einem Grad von mindestens 1 ist die gesamte XOR-Verknüpfung der auf den benachbarten Scheitelpunkten geschriebenen Zahlen (mit Ausnahme von v selbst) 0.

Was ist XOR?

Das XOR zweier nichtnegativer Ganzzahlen A und B, bezeichnet als A \oplus B, ist wie folgt definiert:

- In der binären Darstellung von A \oplus B ist das Bit an Position 2^k \, (k \geq 0) genau dann 1, wenn genau eines der Bits an Position 2^k in den binären Darstellungen von A und B ist 1. Ansonsten ist es 0.

Zum Beispiel: 3 \oplus 5 = 6 (binär: 011 \oplus 101 = 110).

Im Allgemeinen ist das bitweise XOR von k ganzen Zahlen p_1, \dots, p_k definiert als (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k).  Es kann bewiesen werden, dass dies unabhängig von der Reihenfolge von p_1, \dots, p_k ist.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M

Ausgabe

Wenn es keine Möglichkeit gibt, ganze Zahlen zu schreiben, die die Bedingung erfüllen, geben Sie „No“ aus.
Andernfalls sei X_v die Ganzzahl, die am Scheitelpunkt v geschrieben wird, und drucke deine Lösung im folgenden Format aus. Wenn mehrere Lösungen vorhanden sind, wird jede davon akzeptiert.
Yes
X_1 X_2 \dots X_N

Einschränkungen

- 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) für i \neq j.
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

3 3
1 2
1 3
2 3

Beispielausgabe 1

Yes
4 4 4

Andere akzeptable Lösungen umfassen das Schreiben von (2,2,2) oder (3,3,3).

Beispieleingabe 2

2 1
1 2

Beispielausgabe 2

No

Beispieleingabe 3

1 0

Beispielausgabe 3

Yes
1

Es kann jede ganze Zahl zwischen 1 und 2^{60} - 1 geschrieben werden.

Beispieleingabe 4

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

Beispielausgabe 4

Yes
12 4 4 8

Sie erhalten einen einfachen ungerichteten Graphen mit N Eckpunkten und M Kanten. Die i-te Kante verbindet die Eckpunkte u_i und v_i bidirektional.
Stellen Sie fest, ob es eine Möglichkeit gibt, eine Ganzzahl zwischen 1 und 2^{60} – 1 (einschließlich) auf jeden Scheitelpunkt dieses Diagramms zu schreiben, sodass die folgende Bedingung erfüllt ist:

- Für jeden Scheitelpunkt v mit einem Grad von mindestens 1 ist die gesamte XOR-Verknüpfung der auf den angrenzenden Scheitelpunkten geschriebenen Zahlen (mit Ausnahme von v selbst) 0.

Was ist XOR?

Das XOR zweier nichtnegativer Ganzzahlen A und B, bezeichnet als A \oplus B, ist wie folgt definiert:

- In der binären Darstellung von A \oplus B ist das Bit an Position 2^k \, (k \geq 0) genau dann 1, wenn genau eines der Bits an Position 2^k in den binären Darstellungen von A und B ist 1. Ansonsten ist es 0.

Zum Beispiel: 3 \oplus 5 = 6 (binär: 011 \oplus 101 = 110).

Im Allgemeinen ist das bitweise XOR von k ganzen Zahlen p_1, \dots, p_k definiert als (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k).  Es lässt sich beweisen, dass dies unabhängig von der Reihenfolge von p_1, \dots, p_k ist.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M

Ausgabe

Wenn es keine Möglichkeit gibt, ganze Zahlen zu schreiben, die die Bedingung erfüllen, geben Sie „No“ aus.
Andernfalls sei X_v die Ganzzahl, die am Scheitelpunkt v geschrieben wird, und drucke deine Lösung im folgenden Format aus. Wenn mehrere Lösungen vorhanden sind, wird jede davon akzeptiert.
Yes
X_1 X_2 \dots X_N

Einschränkungen

- 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) für i \neq j.
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

3 3
1 2
1 3
2 3

Beispielausgabe 1

Yes
4 4 4

Andere akzeptable Lösungen umfassen das Schreiben von (2,2,2) oder (3,3,3).

Beispieleingabe 2

2 1
1 2

Beispielausgabe 2

No

Beispieleingabe 3

1 0

Beispielausgabe 3

Yes
1

Es kann jede ganze Zahl zwischen 1 und 2^{60} - 1 geschrieben werden.

Beispieleingabe 4

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

Beispielausgabe 4

Yes
12 4 4 8

Sie erhalten einen einfachen ungerichteten Graphen mit N Eckpunkten und M Kanten. Die i-te Kante verbindet die Eckpunkte u_i und v_i bidirektional.
Stellen Sie fest, ob es eine Möglichkeit gibt, eine ganze Zahl zwischen 1 und 2^{60} – 1 (einschließlich) auf jeden Scheitelpunkt dieses Diagramms zu schreiben, sodass die folgende Bedingung erfüllt ist:

- Für jeden Scheitelpunkt v mit einem Grad von mindestens 1 ist die gesamte XOR-Verknüpfung der auf den benachbarten Scheitelpunkten geschriebenen Zahlen (mit Ausnahme von v selbst) 0.

Was ist XOR?

Das XOR zweier nichtnegativer Ganzzahlen A und B, bezeichnet als A \oplus B, ist wie folgt definiert:

- In der binären Darstellung von A \oplus B ist das Bit an Position 2^k \, (k \geq 0) genau dann 1, wenn genau eines der Bits an Position 2^k in den binären Darstellungen von A und B ist 1. Ansonsten ist es 0.

Zum Beispiel: 3 \oplus 5 = 6 (binär: 011 \oplus 101 = 110).

Im Allgemeinen ist das bitweise XOR von k ganzen Zahlen p_1, \dots, p_k definiert als (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k).  Es lässt sich beweisen, dass dies unabhängig von der Reihenfolge von p_1, \dots, p_k ist.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M

Ausgabe

Wenn es keine Möglichkeit gibt, ganze Zahlen zu schreiben, die die Bedingung erfüllen, geben Sie „No“ aus.
Andernfalls sei X_v die Ganzzahl, die am Scheitelpunkt v geschrieben wird, und drucke deine Lösung im folgenden Format aus. Wenn mehrere Lösungen vorhanden sind, wird jede davon akzeptiert.
Yes
X_1 X_2 \dots X_N

Einschränkungen

- 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) für i \neq j.
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

3 3
1 2
1 3
2 3

Beispielausgabe 1

Yes
4 4 4

Andere akzeptable Lösungen umfassen das Schreiben von (2,2,2) oder (3,3,3).

Beispieleingabe 2

2 1
1 2

Beispielausgabe 2

No

Beispieleingabe 3

1 0

Beispielausgabe 3

Yes
1

Es kann jede ganze Zahl zwischen 1 und 2^{60} - 1 geschrieben werden.

Beispieleingabe 4

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

Beispielausgabe 4

Yes
12 4 4 8


Sie erhalten eine Folge X der Länge N, wobei jedes Element zwischen 1 und N (einschließlich) liegt, und eine Folge A der Länge N.
Drucken Sie das Ergebnis der K-maligen Ausführung der folgenden Operation auf A aus.

- Ersetzen Sie A durch B, sodass B_i = A_{X_i}.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N K
X_1 X_2 \dots X_N
A_1 A_2 \dots A_N

Ausgabe

Sei A' die Folge A nach den Operationen. Drucken Sie es im folgenden Format aus:
A'_1 A'_2 \dots A'_N

Einschränkungen

- Alle Eingabewerte sind ganze Zahlen.
- 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

Beispieleingabe 1

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

Beispielausgabe 1

7 2 3 5 1 9 3

In dieser Eingabe ist X=(5,2,6,3,1,4,6) und die Anfangssequenz ist A=(1,2,3,5,7,9,11).

- Nach einer Operation lautet die Reihenfolge (7,2,9,3,1,5,9).
- Nach zwei Operationen ist die Sequenz (1,2,5,9,7,3,5).
- Nach drei Operationen lautet die Reihenfolge (7,2,3,5,1,9,3).

Beispieleingabe 2

4 0
3 4 1 2
4 3 2 1

Beispielausgabe 2

4 3 2 1

Es kann Fälle geben, in denen keine Operationen ausgeführt werden.

Beispieleingabe 3

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

Beispielausgabe 3

3 3 3 3 3 3 3 3 3

Sie erhalten eine Folge X der Länge N, wobei jedes Element zwischen 1 und N (einschließlich) liegt, und eine Folge A der Länge N.
Drucken Sie das Ergebnis der K-maligen Ausführung der folgenden Operation auf A aus.

- Ersetzen Sie A durch B, sodass B_i = A_{X_i}.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N K
X_1 X_2 \Punkte X_N
A_1 A_2 \Punkte A_N

Ausgabe

Sei A' die Folge A nach den Operationen. Drucken Sie es im folgenden Format aus:
A'_1 A'_2 \Punkte A'_N

Einschränkungen

- Alle Eingabewerte sind ganze Zahlen.
- 1 \le N \le 2 \mal 10^5
- 0 \le K \le 10^{18}
- 1 \le X_i \le N
- 1 \le A_i \le 2 \mal 10^5

Beispieleingabe 1

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

Beispielausgabe 1

7 2 3 5 1 9 3

In dieser Eingabe ist X=(5,2,6,3,1,4,6) und die Anfangssequenz ist A=(1,2,3,5,7,9,11).

- Nach einer Operation lautet die Reihenfolge (7,2,9,3,1,5,9).
- Nach zwei Operationen ist die Sequenz (1,2,5,9,7,3,5).
- Nach drei Operationen lautet die Reihenfolge (7,2,3,5,1,9,3).

Beispieleingabe 2

4 0
3 4 1 2
4 3 2 1

Beispielausgabe 2

4 3 2 1

Es kann Fälle geben, in denen keine Operationen ausgeführt werden.

Beispieleingabe 3

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

Beispielausgabe 3

3 3 3 3 3 3 3 3 3


Du hast Sequenzen von positiven ganzen Zahlen der Länge N: A=(A_1,A_2,\ldots,A_N) und B=(B_1,B_2,\ldots,B_N).
Du hast Q Anfragen, die in der Reihenfolge verarbeitet werden müssen. Die i-te Anfrage wird unten erklärt.

- Du erhältst die positiven ganzen Zahlen l_i,r_i,L_i,R_i. Gib „Yes“ aus, wenn es möglich ist, die Teilsequenz (A_{l_i},A_{l_i+1},\ldots,A_{r_i}) so umzuordnen, dass sie der Teilsequenz (B_{L_i},B_{L_i+1},\ldots,B_{R_i}) entspricht, und „No“ andernfalls.

Eingabe

Die Eingabe erfolgt über Standard Input im folgenden Format:
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

Ausgabe

Gib Q Zeilen aus. Die i-te Zeile sollte die Antwort auf die i-te Anfrage enthalten.

Einschränkungen

-  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
- Alle Eingabewerte sind ganze Zahlen.

Beispiel Eingabe 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

Beispiel Ausgabe 1

Yes
No
No
Yes

- Für die 1. Anfrage ist es möglich, (1,2,3) so umzuordnen, dass es (2,3,1) entspricht. Daher geben wir „Yes“ aus.
- Für die 2. Anfrage ist es nicht möglich, (1,2) so umzuordnen, dass es (1,4,2) entspricht. Daher geben wir „No“ aus.
- Für die 3. Anfrage ist es nicht möglich, (1,2,3,2) so umzuordnen, dass es (3,1,4,2) entspricht. Daher geben wir „No“ aus.
- Für die 4. Anfrage ist es möglich, (1,2,3,2,4) so umzuordnen, dass es (2,3,1,4,2) entspricht. Daher geben wir „Yes“ aus.

Beispiel Eingabe 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

Beispiel Ausgabe 2

Yes
Yes
No
No

Sie erhalten Sequenzen von positiven Zahlen der Länge N: A=(A_1,A_2,\ldots,A_N) und B=(B_1,B_2,\ldots,B_N).
Sie erhalten Q -Abfragen in der Reihenfolge. Die i-th-Abfrage wird unten erklärt.

- Gegeben sind positive ganze Zahlen l_i,r_i,L_i,R_i. Geben Sie Yes aus, wenn es möglich ist, die Teilfolge (A_{l_i},A_{l_i+1},\ldots,A_{r_i}) so umzuordnen, dass sie mit der Teilfolge (B_{L_i},B_{L_i+1},\ldots,B_{R_i}) übereinstimmt, und ansonsten No.

Eingang

Die Eingabe erfolgt aus der Standardeingabe im folgenden Format:
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

Ausgabe

Q -Zeilen drucken. Die i-th-Zeile sollte die Antwort auf die i-th-Abfrage enthalten.

Einschränkungen

-  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
- Alle Eingabewerte sind Ganzzahlen.

Probeneingang 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

Probenausgang 1

Yes
No
No
Yes

- Für die 1. Abfrage ist es möglich, (1,2,3) (2,3,1) neu zu ordnen. Daher drucken wir Yes.
- Für die 2. Abfrage ist es unmöglich, (1,2) in irgendeiner Weise zu ordnen (1,4,2). Daher drucken wir No
- Für die 3. Abfrage ist es unmöglich, (1,2,3,2) in irgendeiner Weise zu ordnen (3,1,4,2). Daher drucken wir No
- Für die 4. Abfrage ist es möglich, (1,2,3,2,4) zu passen (2,3,1,4,2). Daher drucken wir Yes.

Probeneingang 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

Probenausgang 2

Yes
Yes
No
No

Sie erhalten Folgen positiver Ganzzahlen der Länge N: A=(A_1,A_2,\ldots,A_N) und B=(B_1,B_2,\ldots,B_N).
Sie erhalten Q-Abfragen, die Sie der Reihe nach bearbeiten müssen. Die i-te Abfrage wird unten erläutert.

- Sie erhalten positive ganze Zahlen l_i,r_i,L_i,R_i. Geben Sie Yes aus, wenn es möglich ist, die Teilfolge (A_{l_i},A_{l_i+1},\ldots,A_{r_i}) neu anzuordnen, damit sie mit der Teilfolge (B_{L_i},B_{L_i+1},\ldots) übereinstimmt ,B_{R_i}) und Nein sonst.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
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

Ausgabe

Drucken Sie Q-Linien. Die i-te Zeile sollte die Antwort auf die i-te Abfrage enthalten.

Einschränkungen

- 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
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 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

Beispielausgabe 1

Yes
No
No
Yes

- Für die erste Abfrage ist es möglich, (1,2,3) neu anzuordnen, damit es mit (2,3,1) übereinstimmt. Daher drucken wir Yes.
- Bei der zweiten Abfrage ist es unmöglich, (1,2) in irgendeiner Weise neu anzuordnen, damit es mit (1,4,2) übereinstimmt. Daher drucken wir No.
- Bei der dritten Abfrage ist es unmöglich, (1,2,3,2) in irgendeiner Weise neu anzuordnen, damit es mit (3,1,4,2) übereinstimmt. Daher drucken wir No.
– Für die 4. Abfrage ist es möglich, (1,2,3,2,4) neu anzuordnen, damit es mit (2,3,1,4,2) übereinstimmt. Daher drucken wir Yes.

Beispieleingabe 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

Beispielausgabe 2

Yes
Yes
No
No


Im Königreich AtCoder müssen die Bewohner jeden Tag um A Uhr ihre Liebe zu Takoyaki laut schreien.
Takahashi, der im Königreich AtCoder lebt, geht jeden Tag um B Uhr zu Bett und wacht um C Uhr auf (im 24-Stunden-Format). Er kann seine Liebe zu Takoyaki herausschreien, wenn er wach ist, aber nicht, wenn er schläft. Stellen Sie fest, ob er jeden Tag seine Liebe zu Takoyaki herausschreien kann. Hier hat ein Tag 24 Stunden und seine Schlafzeit beträgt weniger als 24 Stunden.

Eingabe

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
A B C

Ausgabe

Drucken Yes, wenn Takahashi jeden Tag seine Liebe zu Takoyaki herausschreien kann, andernfalls No.

Einschränkungen

- 0\leq A,B,C\lt 24
- A, B und C sind paarweise unterschiedlich.
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

21 8 14

Beispielausgabe 1

Yes

Takahashi geht jeden Tag um 8 Uhr ins Bett und wacht um 14 Uhr auf. Er ist um 21 Uhr wach, sodass er jeden Tag seine Liebe zu Takoyaki herausschreien kann. Drucken Sie daher „Yes“.

Beispieleingabe 2

0 21 7

Beispielausgabe 2

No

Takahashi geht jeden Tag um 21 Uhr ins Bett und wacht um 7 Uhr auf. Er ist um 0 Uhr nicht wach und kann daher nicht jeden Tag seine Liebe zu Takoyaki herausschreien. Drucken Sie daher No.

Beispieleingabe 3

10 7 17

Beispielausgabe 3

No

Im Königreich von AtCoder müssen die Einwohner jeden Tag um A Uhr ihre Liebe zu Takoyaki schreien.
Takahashi, der im Königreich von AtCoder lebt, geht jeden Tag um B Uhr zu Bett und wacht jeden Tag um C Uhr auf (im 24-Stunden-Format). Er kann seine Liebe zum Takoyaki schreien, wenn er wach ist, aber nicht, wenn er schläft. Finde heraus, ob er seine Liebe zum Takoyaki jeden Tag schreien kann. Hier hat ein Tag 24 Stunden, und seine Schlafzeit beträgt weniger als 24 Stunden.

Eingabe

Die Eingabe erfolgt aus der Standardeingabe im folgenden Format:
A B C

Ausgabe

Drucken Yes, wenn Takahashi seine Liebe zum Takoyaki jeden Tag herausschreien kann, und No sonst.

Zwänge

- 0\leq A,B,C\lt 24
- A, B und C sind paarweise unterschiedlich.
- Alle Eingabewerte sind ganze Zahlen.

Beispiel-Eingabe 1

21 8 14

Beispiel-Ausgabe 1

Yes

Takahashi geht jeden Tag um 8 Uhr zu Bett und wacht jeden Tag um 14 Uhr auf. Er ist um 21 Uhr wach, so dass er jeden Tag seine Liebe zum Takoyaki schreien kann. Drucken Sie daher Yes.

Beispiel-Eingabe 2

0 21 7

Beispiel-Ausgabe 2

No

Takahashi geht um 21 Uhr ins Bett und wacht jeden Tag um 7 Uhr auf. Er ist nicht um 0 Uhr wach, also kann er nicht jeden Tag seine Liebe zum Takoyaki schreien. Drucken Sie daher No.

Beispiel-Eingabe 3

10 7 17

Beispiel-Ausgabe 3

No

Im Königreich AtCoder sind die Bewohner verpflichtet, jeden Tag um A Uhr ihre Liebe zu Takoyaki zu verkünden.
Takahashi, der im Königreich AtCoder lebt, geht jeden Tag um B Uhr ins Bett und wacht um C Uhr auf (im 24-Stunden-Format). Er kann seine Liebe zu Takoyaki verkünden, wenn er wach ist, aber nicht, wenn er schläft. Bestimmen Sie, ob er jeden Tag seine Liebe zu Takoyaki verkünden kann. Hier hat ein Tag 24 Stunden und seine Schlafenszeit beträgt weniger als 24 Stunden.

Eingabe

Die Eingabe erfolgt über die Standard-Eingabe im folgenden Format:
A B C

Ausgabe

Geben Sie Yes aus, wenn Takahashi jeden Tag seine Liebe zu Takoyaki verkünden kann, andernfalls No.

Einschränkungen

- 0\leq A,B,C\lt 24
- A, B und C sind paarweise verschieden.
- Alle Eingabewerte sind Ganzzahlen.

Beispiel Eingabe 1

21 8 14

Beispiel Ausgabe 1

Yes

Takahashi geht jeden Tag um 8 Uhr ins Bett und wacht um 14 Uhr auf. Er ist um 21 Uhr wach, also kann er jeden Tag seine Liebe zu Takoyaki verkünden. Daher geben Sie Yes aus.

Beispiel Eingabe 2

0 21 7

Beispiel Ausgabe 2

No

Takahashi geht jeden Tag um 21 Uhr ins Bett und wacht um 7 Uhr auf. Er ist um 0 Uhr nicht wach, also kann er nicht jeden Tag seine Liebe zu Takoyaki verkünden. Daher geben Sie No aus.

Beispiel Eingabe 3

10 7 17

Beispiel Ausgabe 3

No


Sie erhalten positive ganze Zahlen N, M, K und eine Folge nicht negativer ganzer Zahlen: A=(A_1,A_2,\ldots,A_N).
Für eine nicht leere, nicht negative Ganzzahlfolge B=(B_1,B_2,\ldots,B_{|B|}) definieren wir ihre Punktzahl wie folgt.

- Wenn die Länge von B ein Vielfaches von M ist: (B_1 \oplus B_2 \oplus \dots \oplus B_{|B|})^K
- Ansonsten: 0

Hier stellt \oplus das bitweise XOR dar.
Finden Sie die Summe, Modulo 998244353, der Bewertungen der 2^N-1 nichtleeren Teilfolgen von A.
Was ist bitweises XOR? Das bitweise XOR der nichtnegativen ganzen Zahlen A und B, bezeichnet als A \oplus B, ist wie folgt definiert: - In der binären Darstellung von A \oplus B ist die Ziffer an Position 2^k (k \geq 0) 1 wenn genau eines von A und B in seiner binären Darstellung an dieser Position eine 1 hat und andernfalls eine 0. Zum Beispiel: 3 \oplus 5 = 6 (binär: 011 \oplus 101 = 110). Im Allgemeinen ist das XOR von k ganzen Zahlen p_1, \dots, p_k definiert als (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k), und es kann bewiesen werden, dass dies unabhängig davon ist die Reihenfolge von p_1, \dots, p_k.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N M K
A_1 A_2 \ldots A_N

Ausgabe

Drucken Sie die Antwort aus.

Einschränkungen

- 1 \leq N,K \leq 2 \times 10^5
- 1 \leq M \leq 100
- 0 \leq A_i < 2^{20}
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

3 2 2
1 2 3

Beispielausgabe 1

14

Hier sind die Ergebnisse der 2^3-1=7 nichtleeren Teilfolgen von 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

Daher ist die gesuchte Summe 0+0+0+9+4+1+0=14.

Beispieleingabe 2

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

Beispielausgabe 2

252000000

Beispieleingabe 3

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

Beispielausgabe 3

432440016


Eine reelle Zahl X wird auf den dritten Dezimalplatz gerundet.
Drucken Sie die reelle Nummer X unter den folgenden Bedingungen.

- Der Dezimalteil darf keine nachfolgenden Nullen haben.
- Es darf keinen unnötigen Dezimalpunkt geben.

Eingang

Die Eingabe erfolgt in folgendem Format aus der Standardeingabe:
X

Ausgabe

Die Antwort ausgeben.

Einschränkungen

- 0 \le X < 100
- X wird an den dritten Dezimalplatz gegeben.

Probeneingang 1

1.012

Probenausgang 1

1.012

1.012 kann so gedruckt werden, wie es ist.

Probeneingang 2

12.340

Probenausgang 2

12,34

Drucken 12.340 ohne die nachfolgenden Nullen führt zu 12,34.

Probeneingang 3

99.900

Probenausgang 3

99.9

Drucken 99.900 ohne die nachfolgenden Nullen führt zu 99.9.

Probeneingang 4

0,000

Probenausgang 4

0

Drucken 0.000 ohne nachfolgende Nullen oder einen unnötigen Dezimalpunkt führt zu 0.

Eine reelle Zahl X wird bis zur dritten Dezimalstelle angegeben.
Geben Sie die reelle Zahl X unter den folgenden Bedingungen aus.

- Der Dezimalteil darf keine nachgestellten Nullen enthalten.
- Es darf kein unnötiger hinterer Dezimalpunkt stehen.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
X

Ausgabe

Geben Sie die Antwort aus.

Einschränkungen

- 0 \le X < 100
- X wird bis zur dritten Dezimalstelle angegeben.

Beispieleingabe 1

1.012

Beispielausgabe 1

1.012

1.012 kann so wie es ist gedruckt werden.

Beispieleingabe 2

12.340

Beispielausgabe 2

12.34

Das Drucken von 12.340 ohne die nachgestellte 0 ergibt 12.34.

Beispieleingabe 3

99.900

Beispielausgabe 3

99,9

Das Drucken von 99,900 ohne die nachgestellten Nullen ergibt 99,9.

Beispieleingabe 4

0,000

Beispielausgabe 4

0

Das Drucken von 0,000 ohne nachgestellte Nullen oder einen unnötigen Dezimalpunkt führt zu 0.


Rund um einen See gibt es N Rastplätze.
Die Rastplätze sind im Uhrzeigersinn mit 1, 2, ..., N nummeriert.
Es sind A_i Schritte erforderlich, um im Uhrzeigersinn vom Rastplatz i zum Rastplatz i+1 zu laufen (wobei sich Rastplatz N+1 auf Rastplatz 1 bezieht).
Die Mindestanzahl an Schritten, die erforderlich sind, um im Uhrzeigersinn vom Ruhebereich s zum Ruhebereich t zu gehen (s \neq t), ist ein Vielfaches von M.
Ermitteln Sie die Anzahl der möglichen Paare (s,t).

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N M
A_1 A_2 \dots A_N

Ausgabe

Geben Sie die Antwort als Ganzzahl aus.

Einschränkungen

- Alle Eingabewerte sind ganze Zahlen
- 2 \le N \le 2 \times 10^5
- 1 \le A_i \le 10^9
- 1 \le M \le 10^6

Beispieleingabe 1

4 3
2 1 4 3

Beispielausgabe 1

4

- Die Mindestanzahl an Schritten, um im Uhrzeigersinn von Rastplatz 1 zu Rastplatz 2 zu gehen, beträgt 2, was kein Vielfaches von 3 ist.
- Die Mindestanzahl an Schritten, um im Uhrzeigersinn von Rastplatz 1 zu Rastplatz 3 zu gehen, beträgt 3, was einem Vielfachen von 3 entspricht.
- Die Mindestanzahl an Schritten, um im Uhrzeigersinn von Rastplatz 1 zu Rastplatz 4 zu gehen, beträgt 7, was kein Vielfaches von 3 ist.
- Die Mindestanzahl an Schritten, um im Uhrzeigersinn von Rastplatz 2 zu Rastplatz 3 zu gehen, beträgt 1, was kein Vielfaches von 3 ist.
- Die Mindestanzahl an Schritten, um im Uhrzeigersinn von Rastplatz 2 zu Rastplatz 4 zu gehen, beträgt 5, was kein Vielfaches von 3 ist.
- Die Mindestanzahl an Schritten, um im Uhrzeigersinn von Rastplatz 2 zu Rastplatz 1 zu gehen, beträgt 8, was kein Vielfaches von 3 ist.
- Die Mindestanzahl an Schritten, um im Uhrzeigersinn von Rastplatz 3 zu Rastplatz 4 zu gehen, beträgt 4, was kein Vielfaches von 3 ist.
- Die Mindestanzahl an Schritten, um im Uhrzeigersinn von Rastplatz 3 zu Rastplatz 1 zu gehen, beträgt 7, was kein Vielfaches von 3 ist.
- Die Mindestanzahl an Schritten, um im Uhrzeigersinn von Rastplatz 3 zu Rastplatz 2 zu gehen, beträgt 9, was einem Vielfachen von 3 entspricht.
- Die Mindestanzahl an Schritten, um im Uhrzeigersinn von Rastplatz 4 zu Rastplatz 1 zu gehen, beträgt 3, was einem Vielfachen von 3 entspricht.
- Die Mindestanzahl an Schritten, um im Uhrzeigersinn von Rastplatz 4 zu Rastplatz 2 zu gehen, beträgt 5, was kein Vielfaches von 3 ist.
- Die Mindestanzahl an Schritten, um im Uhrzeigersinn von Rastplatz 4 zu Rastplatz 3 zu gehen, beträgt 6, was einem Vielfachen von 3 entspricht.

Daher gibt es vier mögliche Paare (s,t).

Beispieleingabe 2

2 1000000
1 1

Beispielausgabe 2

0

Beispieleingabe 3

9 5
9 9 8 2 4 4 3 5 3

Beispielausgabe 3

11

Rund um einen See gibt es N Rastplätze.
Die Rastplätze sind mit 1, 2, ..., N im Uhrzeigersinn nummeriert.
Man braucht A_i Schritte, um im Uhrzeigersinn von Rastplatz i zu Rastplatz i+1 zu gehen (wobei sich Rastplatz N+1 auf Rastplatz 1 bezieht).
Die Mindestanzahl der Schritte, die erforderlich sind, um im Uhrzeigersinn von Ruhezone s nach Ruhezone t (s \neq t) zu gehen, ist ein Vielfaches von M.
Ermitteln Sie die Anzahl der möglichen Paare (s,t).

Eingang

Die Eingabe erfolgt aus der Standardeingabe im folgenden Format:
N M
A_1 A_2 \dots A_N

Ausgabe

Drucken Sie die Antwort als Ganzzahl.

Einschränkungen

- Alle Eingabewerte sind Ganzzahlen
- 2 \le N \le 2 \times 10^5
- 1 \le A_i \le 10^9
- 1 \le M \le 10^6

Probeneingang 1

4 3
2 1 4 3

Probenausgang 1

4

- Die minimale Anzahl von Schritten, um vom Ruhebereich 1 bis zur Ruhefläche 2 zu gehen, beträgt 2, was kein Vielfaches von 3 entspricht.
- Die minimale Anzahl von Schritten, um vom Ruhebereich 1 bis zur Ruhefläche 3 zu gehen, beträgt 3, was ein Vielfaches von 3 ist.
- Die minimale Anzahl von Schritten, um vom Ruhebereich 1 bis zur Ruhefläche 4 zu gehen, beträgt 7, was kein Vielfaches von 3 entspricht.
- Die minimale Anzahl von Schritten, um vom Ruhebereich 2 bis zur Ruhefläche 3 zu gehen, beträgt 1, was kein Vielfaches von 3 ist.
- Die minimale Anzahl von Schritten, um vom Ruhebereich 2 bis zur Ruhefläche 4 zu gehen, beträgt 5, was kein Vielfaches von 3 ist.
- Die minimale Anzahl von Schritten, um vom Ruhebereich 2 bis zur Ruhefläche 1 zu gehen, beträgt 8, was kein Vielfaches von 3 entspricht.
- Die minimale Anzahl von Schritten, um vom Ruhebereich 3 bis zur Ruhefläche 4 zu gehen, beträgt 4, was kein Vielfaches von 3 entspricht.
- Die minimale Anzahl von Schritten, um vom Ruhebereich 3 bis zur Ruhefläche 1 zu gehen, beträgt 7, was kein Vielfaches von 3 entspricht.
- Die minimale Anzahl von Schritten, um vom Ruhebereich 3 bis zur Ruhefläche 2 zu gehen, beträgt 9, was ein Vielfaches von 3 ist.
- Die minimale Anzahl von Schritten, um vom Ruhebereich 4 bis zur Ruhefläche 1 zu gehen, beträgt 3, was ein Vielfaches von 3 entspricht.
- Die minimale Anzahl von Schritten, um vom Ruhebereich 4 bis zur Ruhefläche 2 zu gehen, beträgt 5, was kein Vielfaches von 3 ist.
- Die minimale Anzahl von Schritten, um vom Ruhebereich 4 bis zur Ruhefläche 3 zu gehen, beträgt 6, was ein Vielfaches von 3 entspricht.

Daher gibt es vier mögliche Paare (s, t).

Probeneingang 2

2 1000000
1 1

Probenausgang 2

0

Probeneingang 3

9 5
9 9 8 2 4 4 3 5 3

Probenausgang 3

11


Gibt alle ganzzahligen Folgen der Länge N aus, die die folgenden Bedingungen erfüllen, in aufsteigender lexikografischer Reihenfolge.

- Das i-te Element liegt zwischen 1 und R_i (einschließlich).
- Die Summe aller Elemente ist ein Vielfaches von K.

 Was ist die lexikografische Reihenfolge für Sequenzen?
Eine Folge A = (A_1, \ldots, A_{|A|}) ist lexikographisch kleiner als B = (B_1, \ldots, B_{|B|}), wenn entweder 1. oder 2. unten gilt:

- |A|<|B| und (A_{1},\ldots,A_{|A|}) = (B_1,\ldots,B_{|A|}).
- Es existiert eine ganze Zahl 1\leq i\leq \min\{|A|,|B|\}, sodass beide der folgenden Aussagen wahr sind:

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

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N K
R_1 R_2 \dots R_N

Ausgabe

Geben Sie die Antwort im folgenden Format aus, wobei }):
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}

Einschränkungen

- Alle Eingabewerte sind ganze Zahlen.
- 1 \le N \le 8
- 2 \le K \le 10
- 1 \le R_i \le 5

Beispieleingabe 1

3 2
2 1 3

Beispielausgabe 1

1 1 2
2 1 1
2 1 3

Es müssen drei Sequenzen gedruckt werden: (1,1,2),(2,1,1),(2,1,3) in lexikografischer Reihenfolge.

Beispieleingabe 2

1 2
1

Beispielausgabe 2

Möglicherweise sind keine Sequenzen zum Drucken vorhanden.
In diesem Fall kann die Ausgabe leer sein.

Beispieleingabe 3

5 5
2 3 2 3 2

Beispielausgabe 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

Gibt alle ganzzahligen Sequenzen der Länge N, die die folgenden Bedingungen erfüllen, in aufsteigender lexikographischer Reihenfolge aus.

- Das i-te Element liegt zwischen 1 und R_i einschließlich.
- Die Summe aller Elemente ist ein Vielfaches von K.

Was ist die lexikographische Reihenfolge für Sequenzen?
Eine Sequenz A = (A_1, \ldots, A_{|A|}) ist lexikographisch kleiner als B = (B_1, \ldots, B_{|B|}) Wenn entweder 1. oder 2. unten gilt:

- |A|<|B| und (A_{1},\ldots,A_{|A|}) = (B_1,\ldots;B_{|A|}).
- Es existiert eine Ganzzahl 1\leq i\leq \min{|A|,|B|}, sodass die beiden folgenden Punkte zutreffen:

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

Eingabe

Die Eingabe erfolgt aus der Standardeingabe im folgenden Format:
N K
R_1 R_2 \dots R_N

Ausgabe

Drucken Sie die Antwort im folgenden Format, wobei X die Anzahl der zu druckenden Sequenzen ist, wobei die i-te  A_i=(A_{i,1},A_{i,2},\dots,A_{i,N}) ist:
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}

Zwänge

- Alle Eingabewerte sind ganze Zahlen.
- 1 \le N \le 8
- 2 \le K \le 10
- 1 \le R_i \le 5

Beispiel-Eingang 1

3 2
2 1 3

Beispiel-Ausgabe 1

1 1 2
2 1 1
2 1 3

Es gibt drei Sequenzen, die gedruckt werden sollen, nämlich (1,1,2),(2,1,1),(2,1,3) in lexikographischer Reihenfolge.

Beispiel-Eingang 2

1 2
1

Beispiel-Ausgabe 2

Möglicherweise sind keine Sequenzen zum Drucken vorhanden.
In diesem Fall kann der Ausgang leer sein.

Beispiel-Eingang 3

5 5
2 3 2 3 2

Beispiel-Ausgabe 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


Gegeben sind Sequenzen von positiven ganzen Zahlen A und B der Länge N. Verarbeite Q Anfragen in der angegebenen Reihenfolge. Jede Anfrage ist von einem der folgenden drei Typen.

-
Typ 1: Gegeben in der Form 1 i x. Ersetze A_i durch x.

-
Typ 2: Gegeben in der Form 2 i x. Ersetze B_i durch x.

-
Typ 3: Gegeben in der Form 3 l r. Löse das folgende Problem und gib die Antwort aus.

-
Initialisiere v = 0. Für i = l, l+1, ..., r in dieser Reihenfolge, ersetze v entweder durch v + A_i oder v \times B_i. Finde den maximal möglichen Wert von v am Ende.

Es ist garantiert, dass die Antworten auf die gegebenen Typ-3-Anfragen höchstens 10^{18} sind.

Eingabe

Die Eingabe erfolgt über Standard Input in folgendem Format:
N
A_1 A_2 \cdots A_N
B_1 B_2 \cdots B_N
Q
query_1
query_2
\vdots
query_Q

Hierbei ist query_i die i-te Anfrage, gegeben in einem der folgenden Formate:
1 i x

2 i x

3 l r

Ausgabe

Sei q die Anzahl der Typ-3-Anfragen. Gib q Zeilen aus. Die i-te Zeile soll die Antwort zur i-ten Typ-3-Anfrage enthalten.

Einschränkungen

- 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
- Für Typ-1- und Typ-2-Anfragen, 1 \leq i \leq N.
- Für Typ-1- und Typ-2-Anfragen, 1 \leq x \leq 10^9.
- Für Typ-3-Anfragen, 1 \leq l \leq r \leq N.
- Für Typ-3-Anfragen, der auszugebende Wert ist höchstens 10^{18}.

Beispiel Eingabe 1

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

Beispiel Ausgabe 1

12
7

Für die erste Anfrage ist die Antwort ((0 + A_1) \times B_2) \times B_3 = 12.
Für die dritte Anfrage ist die Antwort ((0 + A_1) + A_2) + A_3 = 7.

Beispiel Eingabe 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

Beispiel Ausgabe 2

46080
69840
27648
1728

Sie erhalten Sequenzen von positiven Ganzzahlen A und B von Länge N. Prozess Q Abfragen in den folgenden Formularen in der Reihenfolge, die sie angegeben haben. Jede Abfrage enthält einen der folgenden drei Typen.

-
Typ 1: In Form 1 i x angegeben. Ersetzen Sie A_i durch x.

-
Typ 2: In Form 2 i x angegeben. Ersetzen Sie B_i durch x.

-
Typ 3: angegeben in Form 3 l r. Lösen Sie das folgende Problem und drucken Sie die Antwort.

-
Setzen Sie zunächst v = 0. Für  i = l, l+1, ..., r in dieser Reihenfolge, ersetzen Sie V durch entweder  v + A_i oder v \times B_i. Finden Sie den maximal möglichen Wert von v am Ende.

Es ist garantiert, dass die Antworten auf die angegebenen Abfragen vom Typ 3 höchstens 10^{18} sind.

Eingang

Die Eingabe erfolgt aus der Standardeingabe im folgenden Format:
N
A_1 A_2 \cdots A_N
B_1 B_2 \cdots B_N
Q
query_1
query_2
\vdots
query_Q

Hier ist query_i die i-th-Abfrage, die in einem der folgenden Formate angegeben ist:
1 i x

2 i x

3 l r

Ausgabe

Sei q die Anzahl der Abfragen vom Typ 3. q -Zeilen drucken. Die i-th-Zeile sollte die Antwort auf die I-te Typ 3-Abfrage enthalten.

Einschränkungen

- 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
- Für Abfragen vom Typ 1 und 2 ist 1 \leq i \leq N.
- Für Abfragen vom Typ 1 und 2 ist 1 \leq x \leq 10^9.
- Für Typ 3 -Abfragen 1 \leq l \leq r \leq N.
- Für Abfragen vom Typ 3 ist der zu druckende Wert höchstens 10^{18}.

Probeneingang 1

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

Probenausgang 1

12
7

Für die erste Abfrage lautet die Antwort ((0 + A_1) \times B_2) \times B_3 = 12.
Für die dritte Abfrage lautet die Antwort ((0 + A_1) + A_2) + A_3 = 7.

Probeneingang 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

Probenausgang 2

46080
69840
27648
1728

Sie erhalten Folgen positiver Ganzzahlen A und B der Länge N. Verarbeiten Sie Q-Abfragen in den folgenden Formen in der angegebenen Reihenfolge. Jede Abfrage gehört zu einem der folgenden drei Typen.

-
Typ 1: Gegeben in der Form 1 i x. Ersetzen Sie A_i durch x.

-
Typ 2: Gegeben in der Form 2 i x. Ersetzen Sie B_i durch x.

-
Typ 3: Gegeben in der Form 3 l r. Lösen Sie das folgende Problem und drucken Sie die Antwort aus.

-
Setzen Sie zunächst v = 0. Für i = l, l+1, ..., r in dieser Reihenfolge ersetzen Sie v entweder durch v + A_i oder v \times B_i. Finden Sie am Ende den maximal möglichen Wert von v.

Es ist garantiert, dass die Antworten auf die gegebenen Typ-3-Anfragen höchstens 10^{18} betragen.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N
A_1 A_2 \cdots A_N
B_1 B_2 \cdots B_N
Q
query_1
query_2
\vdots
query_Q

Hier ist query_i die i-te Abfrage, angegeben in einem der folgenden Formate:
1 ich x

2 ich x

3 l r

Ausgabe

Sei q die Anzahl der Typ-3-Abfragen. Q-Zeilen drucken. Die i-te Zeile sollte die Antwort auf die i-te Typ-3-Abfrage enthalten.

Einschränkungen

- 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
- Für Abfragen vom Typ 1 und 2 gilt: 1 \leq i \leq N.
- Für Abfragen vom Typ 1 und 2: 1 \leq x \leq 10^9.
- Für Abfragen vom Typ 3: 1 \leq l \leq r \leq N.
- Bei Abfragen vom Typ 3 beträgt der auszugebende Wert höchstens 10^{18}.

Beispieleingabe 1

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

Beispielausgabe 1

12
7

Für die erste Abfrage lautet die Antwort ((0 + A_1) \times B_2) \times B_3 = 12.
Für die dritte Abfrage lautet die Antwort ((0 + A_1) + A_2) + A_3 = 7.

Beispieleingabe 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

Beispielausgabe 2

46080
69840
27648
1728


Es gibt einen Stapel von N Karten und auf der i-ten Karte von oben steht eine Ganzzahl A_i.
Sie nehmen K Karten vom unteren Ende des Stapels und legen sie unter Beibehaltung ihrer Reihenfolge oben auf den Stapel.
Drucken Sie nach dem Vorgang die auf den Karten geschriebenen Ganzzahlen von oben nach unten aus.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N K
A_1 A_2 \ldots A_N

Ausgabe

Sei B_i die ganze Zahl, die nach der Operation von oben auf den Stapel auf die i-te Karte geschrieben wird. Geben Sie B_1,B_2,\ldots,B_N in dieser Reihenfolge aus, getrennt durch Leerzeichen.

Einschränkungen

- 1 \leq K < N \leq 100
- 1 \leq A_i \leq 100
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

5 3
1 2 3 4 5

Beispielausgabe 1

3 4 5 1 2

Zu Beginn sind die ganzen Zahlen auf den Karten von oben nach unten geschrieben: 1,2,3,4,5.
Nachdem man drei Karten von der Unterseite des Stapels genommen und oben abgelegt hat, werden die auf den Karten geschriebenen ganzen Zahlen von oben nach unten zu 3,4,5,1,2.

Beispieleingabe 2

6 2
1 2 1 2 1 2

Beispielausgabe 2

1 2 1 2 1 2

Die auf den Karten geschriebenen ganzen Zahlen sind nicht unbedingt unterschiedlich.

Es gibt einen Stapel von N Karten, und auf der i-ten Karte von oben steht eine ganze A_i darauf.
Du nimmst K Karten vom unteren Ende des Stapels und legst sie auf den Stapel, wobei du ihre Reihenfolge beibehältst.
Drucken Sie die auf den Karten geschriebenen Ganzzahlen nach dem Vorgang von oben nach unten.

Eingabe

Die Eingabe erfolgt aus der Standardeingabe im folgenden Format:
N K
A_1 A_2 \ldots A_N

Ausgabe

Sei B_i die ganze Zahl, die nach der Operation von oben auf den Stapel auf die i-te Karte geschrieben wird. Drucken Sie B_1,B_2,\ldots,B_N in dieser Reihenfolge, getrennt durch Leerzeichen.

Zwänge

- 1 \leq K < N \leq 100
- 1 \leq A_i \leq 100
- Alle Eingabewerte sind ganze Zahlen.

Beispiel-Eingang 1

5 3
1 2 3 4 5

Beispiel-Ausgabe 1

3 4 5 1 2

Anfangs sind die ganzen Zahlen auf den Karten 1,2,3,4,5 von oben nach unten.
Nachdem Sie drei Karten vom unteren Ende des Stapels genommen und oben abgelegt haben, werden die auf den Karten geschriebenen ganzen Zahlen von oben nach unten zu 3,4,5,1,2.

Beispiel-Eingang 2

6 2
1 2 1 2 1 2

Beispiel-Ausgabe 2

1 2 1 2 1 2

Die ganzen Zahlen, die auf den Karten geschrieben sind, sind nicht unbedingt unterschiedlich.

Es gibt einen Stapel von N Karten und auf der i-ten Karte von oben steht eine Ganzzahl A_i.
Sie nehmen K Karten vom unteren Ende des Stapels und legen sie unter Beibehaltung ihrer Reihenfolge oben auf den Stapel.
Drucken Sie nach dem Vorgang die auf den Karten geschriebenen Ganzzahlen von oben nach unten aus.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N K
A_1 A_2 \ldots A_N

Ausgabe

Sei B_i die Ganzzahl, die nach der Operation von oben auf den Stapel geschrieben wird. Drucken Sie B_1,B_2,\ldots,B_N in dieser Reihenfolge, getrennt durch Leerzeichen.

Einschränkungen

- 1 \leq K < N \leq 100
- 1 \leq A_i \leq 100
- All input values are integers.

Beispieleingabe 1

5 3
1 2 3 4 5

Beispielausgabe 1

3 4 5 1 2

Zu Beginn sind die ganzen Zahlen auf den Karten von oben nach unten geschrieben: 1,2,3,4,5.
Nachdem man drei Karten von der Unterseite des Stapels genommen und oben abgelegt hat, werden die auf den Karten geschriebenen ganzen Zahlen von oben nach unten zu 3,4,5,1,2.

Beispieleingabe 2

6 2
1 2 1 2 1 2

Beispielausgabe 2

1 2 1 2 1 2

Die auf den Karten geschriebenen ganzen Zahlen sind nicht unbedingt unterschiedlich.


Sie erhalten eine Folge von N positiven ganzen Zahlen A = (A_1, A_2, \dots ,A_N). Takahashi wiederholt den folgenden Vorgang, bis A ein oder weniger positive Elemente enthält:

- Sortieren Sie A in absteigender Reihenfolge. Verringern Sie dann sowohl A_1 als auch A_2 um 1.

Finden Sie heraus, wie oft er diesen Vorgang ausführt.

Eingang

Die Eingabe erfolgt über die Standardeingabe im folgenden Format:
N
A_1 A_2 \cdots A_N

Ausgabe

Drucken Sie die Antwort aus.

Einschränkungen

- 2 \leq N \leq 100
- 1 \leq A_i \leq 100
- Alle Eingabewerte sind ganze Zahlen.

Beispieleingabe 1

4
1 2 3 3

Beispielausgabe 1

4

Der Prozess läuft wie folgt ab:

- Nach der 1. Operation ist A (2, 2, 2, 1).
- Nach der 2. Operation ist A (1, 1, 2, 1).
- Nach der 3. Operation ist A (1, 0, 1, 1).
- Nach der 4. Operation ist A (0, 0, 1, 0). A enthält nicht mehr als ein positives Element, daher endet der Prozess hier.

Beispieleingabe 2

3
1 1 100

Beispielausgabe 2

2

Sie erhalten eine Sequenz von N positiven ganzen Zahlen A = (A_1, A_2, \dots ,A_N). Takahashi wiederholt den folgenden Vorgang, bis A ein oder mehrere positive Elemente enthält:

- Sortieren Sie A in absteigender Reihenfolge. Verringern Sie dann sowohl A_1 als auch A_2 um 1.

Ermitteln Sie, wie oft er diesen Vorgang ausführt.

Eingabe

Die Eingabe erfolgt aus der Standardeingabe im folgenden Format:
N
A_1 A_2 \cdots A_N

Ausgabe

Drucken Sie die Antwort aus.

Zwänge

- 2 \leq N \leq 100
- 1 \leq A_i \leq 100
- Alle Eingabewerte sind ganze Zahlen.

Beispiel-Eingang 1

4
1 2 3 3

Beispiel-Ausgabe 1

4

Der Prozess läuft wie folgt ab:

- Nach der 1. Operation ist A (2, 2, 2, 1).
- Nach der 2. Operation ist A (1, 1, 2, 1).
- Nach der 3. Operation ist A (1, 0, 1, 1).
- Nach der 4. Operation ist A (0, 0, 1, 0). A enthält nicht mehr als ein positives Element, so dass der Prozess hier endet.

Beispiel-Eingang 2

3
1 1 100

Beispiel-Ausgabe 2

2