Дате су три картице са словима $\texttt{a}$, $\texttt{b}$, $\texttt{c}$ распоређене у неком редоследу. Можете извршити следећу операцију највише једном:

- Изаберите две картице и замените их местима.

Да ли је могуће да редослед постане $\texttt{abc}$ након операције? Изведите одговор "YES" ако је могуће, и "NO" ако није.
Улаз

Први ред садржи један цео број $t$ ($1 \leq t \leq 6$) — број тест случајева.

Једини ред сваког тест случаја садржи један стринг који се састоји од тачно по једног знака $\texttt{a}$, $\texttt{b}$ и $\texttt{c}$, што представља карте.

Излаз

За сваки тест случај испишите "YES" ако можете направити редослед $\texttt{abc}$ са највише једном операцијом, или "NO" у супротном.

Можете исписати одговор у било којем формату знака (на пример, стрингови "yEs", "yes", "Yes" и "YES" ће бити препознати као позитиван одговор). Пример улаза 1:
6

abc

acb

bac

bca

cab

cba

Пример излаза 1:

YES
YES
YES
NO
NO
YES

Напомена

У првом тест случају, не треба да радимо никакве операције, јер је редослед већ $\texttt{abc}$.

У другом тест случају, можемо заменити $\texttt{c}$ и $\texttt{b}$: $\texttt{acb} \to \texttt{abc}$.

У трећем тест случају, можемо заменити $\texttt{b}$ и $\texttt{a}$: $\texttt{bac} \to \texttt{abc}$.

У четвртом тест случају, није могуће направити $\texttt{abc}$ коришћењем највише једне операције.

Постоји три карте са словима $\texttt{a}$, $\texttt{b}$, $\texttt{c}$ су постављене у редоследу неким редом. Можете једном урадити следећу операцију:

-  Изаберите две карте и замените их. Да ли је могуће да редослед постане $\texttt{abc}$ након операције? Испишите "YES" ако је могуће, и "NO" у супротном.

Улаз

Први ред садржи један цео број $t$ ($1 \leq t \leq 6$) — број тест случајева.

Једини ред сваког тест случаја садржи један стринг који се састоји од тачно по једног знака $\texttt{a}$, $\texttt{b}$ и $\texttt{c}$, што представља карте.

Излаз

За сваки тест случај испишите "YES" ако можете направити редослед $\texttt{abc}$ са највише једном операцијом, или "NO" у супротном.

Можете исписати одговор у било којем формату знака (на пример, стрингови "yEs", "yes", "Yes" и "YES" ће бити препознати као позитиван одговор). Пример улаза 1:
6

abc

acb

bac

bca

cab

cba

Пример излаза 1:

YES
YES
YES
NO
NO
YES

Напомена

У првом тест случају, не морамо да радимо никакве операције, јер је редослед већ $\texttt{abc}$.

У другом тест случају, можемо заменити $\texttt{c}$ и $\texttt{b}$: $\texttt{acb} \to \texttt{abc}$.

У трећем тест случају, можемо заменити $\texttt{b}$ и $\texttt{a}$: $\texttt{bac} \to \texttt{abc}$.

У четвртом тест случају, није могуће направити $\texttt{abc}$ коришћењем највише једне операције.

На столу су три картице са словима $\texttt{a}$, $\texttt{b}$, $\texttt{c}$ које су поређане у неком редоследу. Можете извршити следећу операцију највише једном:

- Одаберите две картице и замените их местима. Да ли је могуће да редослед постане $\texttt{abc}$ након операције? Испишите "YES" ако је могуће, или "NO" у супротном.

Улаз

Први ред садржи један цео број $t$ ($1 \leq t \leq 6$) — број тест случајева.

Једини ред сваког тест случаја садржи један стринг који се састоји од тачно једном сваког од три карактера $\texttt{a}$, $\texttt{b}$ и $\texttt{c}$, представљајући картице.

Излаз

За сваки тест случај испишите "YES" ако можете добити редослед $\texttt{abc}$ са највише једном операцијом, или "NO" у супротном.

Одговор можете исписати у било којој комбинацији малих и великих слова (на пример, стрингови "yEs", "yes", "Yes" и "YES" ће бити препознати као позитиван одговор).

Пример улаза 1:

6
abc
acb
bac
bca
cab
cba

Пример излаза 1:

YES
YES
YES
NO
NO
YES

Напомена

У првом тест случају, није потребно извршити никакву операцију, јер је редослед већ $\texttt{abc}$.

У другом тест случају, можемо заменити $\texttt{c}$ и $\texttt{b}$: $\texttt{acb} \to \texttt{abc}$.

У трећем тест случају, можемо заменити $\texttt{b}$ и $\texttt{a}$: $\texttt{bac} \to \texttt{abc}$.

У четвртом тест случају, није могуће добити $\texttt{abc}$ са највише једном операцијом.


Славик припрема поклон за рођендан пријатеља. Он има низ $a$ од $n$ цифара и поклон ће бити производ свих тих цифара. Пошто је Славик добро дете које жели да направи највећи могући производ, он жели да додаде $1$ тачно једној својој цифри.

Који је највећи производ који Славик може да направи?

Улаз

Прва линија садржи један цео број $t$ ($1 \leq t \leq 10^4$) — број тест случајева.

Прва линија сваког тест случаја садржи један цео број $n$ ($1 \leq n \leq 9$) — број цифара.

Друга линија сваког тест случаја садржи $n$ раздвојених целих бројева $a_i$ ($0 \leq a_i \leq 9$) — цифре у низу.

Излаз

За сваки тест случај, испишите један цео број — највећи производ који Славик може да направи, додавањем $1$ тачно једној својој цифри.

Пример улаза 1:
4

4

2 2 1 2

3

0 1 2

5

4 3 2 3 4

9

9 9 9 9 9 9 9 9 9

Пример излаза 1:

16
2
432
430467210

Славиц спрема поклон за рођендан пријатеља. Он има низ $а$ од $n$ цифара и презент ће бити производ свих ових цифара. Пошто је Славиц добро дете које жели да направи највећи могући производ, он жели да дода $1$ на тачно једну од својих цифара.

Који је максимални производ који Славиц може да направи?

Инпут

Први ред садржи један цео број $t$ ($1 \leq t \leq 10^4$) — број тест случајева.

Први ред сваког тест случаја садржи један цео број $n$ ($1 \leq n \leq 9$) — број цифара.

Други ред сваког тест случаја садржи $н$ целе бројеве $a_i$ ($0 \leq a_i \leq 9$) — цифре у низу.

Излаз

За сваки тест случај, испишите један цео број — максимални производ који Славиц може да направи, додавањем $1$ тачно једној од његових цифара. Пример уноса 1:
4

4

2 2 1 2

3

0 1 2

5

4 3 2 3 4

9

9 9 9 9 9 9 9 9 9

Пример излаза 1:

16
2
432
430467210

Славик припрема поклон за пријатељев рођендан. Има низ a од n цифара, а поклон ће бити производ свих тих цифара.
Пошто је Славик добар дечко који жели да добије највећи могући производ, он жели да дода 1 тачно једној од својих цифара.

Који је највећи производ који Славик може добити?

Улаз

Прва линија садржи један цео број $t$ ($1 \leq t \leq 10^4$) — број тест случајева.

Прва линија сваког тест случаја садржи један цео број $n$ ($1 \leq n \leq 9$) — број цифара.

Друга линија сваког тест случаја садржи $n$ раздвојених целих бројева $a_i$ ($0 \leq a_i \leq 9$) — цифре у низу.

Излаз

За сваки тест случај, испишите један цео број — највећи производ који Славик може да направи, додавањем $1$ тачно једној својој цифри.

Пример улаза 1:
4

4

2 2 1 2

3

0 1 2

5

4 3 2 3 4

9

9 9 9 9 9 9 9 9 9

Пример излаза 1:

16
2
432
430467210


Добићете траку папира $с$ дужине $н$ ћелија. Свака ћелија је или црна или бела. У операцији можете узети било које $к$ узастопне ћелије и учинити их све белим.

Пронађите минимални број операција потребних за уклањање свих црних ћелија.

Инпут

Први ред садржи један цео број $т$ ($1 \leq t \leq 1000$) — број тест случајева.

Први ред сваког тест случаја садржи два цела броја $н$ и $к$ ($1 \leq k \leq n \leq 2 \cdot 10^5$) — дужину папира и цео број који се користи у операцији.

Други ред сваког тест случаја садржи стринг $с$ дужине $н$ који се састоји од знакова $\texttt{B}$ (који представљају црну ћелију) или $\texttt{W}$ (који представљају белу ћелију).

Збир $н$ у свим тест случајевима не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај, испишите један цео број — минимални број операција потребних за уклањање свих црних ћелија. Пример уноса 1:
8

6 3

WBWWWB

7 3

WWBWBWW

5 4

BWBWB

5 5

BBBBB

8 2

BWBWBBBB

10 2

WBBWBBWBBW

4 1

BBBB

3 2

WWW

Пример излаза 1:

2
1
2
1
4
3
4
0

Напомена

У првом тест случају можете да извршите следеће операције: $$\color{red}{\texttt{WBW}}\texttt{WWB} \to \texttt{WWW}\color{red}{\texttt{WWB}} \to \texttt{WWWWWW}$$

У другом тест случају можете да извршите следеће операције: $$\texttt{WW}\color{red}{\texttt{BWB}}\texttt{WW} \to \texttt{WWWWWWW}$$

У трећем тест случају можете да извршите следеће операције: $$\texttt{B}\color{red}{\texttt{WBWB}} \to \color{red}{\texttt{BWWW}}\texttt{W} \to \texttt{WWWWW}$$

Дат вам је трак папира $s$ који има $n$ ћелија. Свакa ћелија је или црна или бела. У једној операцији можете узети било који $k$ узастопних ћелија и учинити их свима белим.

Пронађите минималан број операција потребних да уклоните све црне ћелије.

Улаз

Прва линија садржи један цео број $t$ ($1 \leq t \leq 1000$) — број тест случајева.

Прва линија сваког тест случаја садржи два цела броја $n$ и $k$ ($1 \leq k \leq n \leq 2 \cdot 10^5$) — дужина папира и број који се користи у операцији.

Друга линија сваког тест случаја садржи стринг $s$ дужине $n$ који се састоји од карактера $\texttt{B}$ (представља црну ћелију) или $\texttt{W}$ (представља белу ћелију).

Збир $n$ преко свих тест случајева не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај, испишите један цео број — минималан број операција потребних да уклоните све црне ћелије.

Пример улаза 1:

8

6 3

WBWWWB

7 3

WWBWBWW

5 4

BWBWB

5 5

BBBBB

8 2

BWBWBBBB

10 2

WBBWBBWBBW

4 1

BBBB

3 2

WWW

Пример излаза 1:

2
1
2
1
4
3
4
0

Напомена

У првом тест случају можете извршити следеће операције: $$\color{red}{\texttt{WBW}}\texttt{WWB} \to \texttt{WWW}\color{red}{\texttt{WWB}} \to \texttt{WWWWWW}$$

У другом тест случају можете извршити следеће операције: $$\texttt{WW}\color{red}{\texttt{BWB}}\texttt{WW} \to \texttt{WWWWWWW}$$

У трећем тест случају можете извршити следеће операције: $$\texttt{B}\color{red}{\texttt{WBWB}} \to \color{red}{\texttt{BWWW}}\texttt{W} \to \texttt{WWWWW}$$

Дат вам је тракa папира $s$ која је дуга $n$ ћелија. Свака ћелија је или црна или бела. У једној операцији можете узети било које $k$ узастопних ћелија и начинити их све белим.

Пронађите минималан број операција потребних да уклоните све црне ћелије.

Улаз

Прва линија садржи један цео број $t$ ($1 \leq t \leq 1000$) — број тест случајева.

Прва линија сваког тест случаја садржи два цела броја $n$ и $k$ ($1 \leq k \leq n \leq 2 \cdot 10^5$) — дужина папира и број који се користи у операцији.

Друга линија сваког тест случаја садржи ниску $s$ дужине $n$ који се састоји од карактера $\texttt{B}$ (представља црну ћелију) или $\texttt{W}$ (представља белу ћелију).

Збир $n$ преко свих тест случајева не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај, испишите један цео број — минималан број операција потребних да уклоните све црне ћелије. Пример улаза 1:

8

6 3

WBWWWB

7 3

WWBWBWW

5 4

BWBWB

5 5

BBBBB

8 2

BWBWBBBB

10 2

WBBWBBWBBW

4 1

BBBB

3 2

WWW

Пример излаза 1:

2
1
2
1
4
3
4
0

Напомена

У првом тест случају можете извршити следеће операције: $$\color{red}{\texttt{WBW}}\texttt{WWB} \to \texttt{WWW}\color{red}{\texttt{WWB}} \to \texttt{WWWWWW}$$

У другом тест случају можете извршити следеће операције: $$\texttt{WW}\color{red}{\texttt{BWB}}\texttt{WW} \to \texttt{WWWWWWW}$$

У трећем тест случају можете извршити следеће операције: $$\texttt{B}\color{red}{\texttt{WBWB}} \to \color{red}{\texttt{BWWW}}\texttt{W} \to \texttt{WWWWW}$$


Дат је низ $s$ дужине $n$, који се састоји од малих латиничних слова, и цео број $k$.

Потребно је проверити да ли је могуће уклонити тачно $k$ карактера из низа $s$ тако да преостали карактери могу бити преуређени у палиндром. Напомињемо да можете преуређивати преостале карактере на било који начин.

Палиндром је низ који се чита исто и са лева на десно и са десна на лево. На пример, низови "z", "aaa", "aba", "abccba" су палиндроми, док низови "codeforces", "reality", "ab" нису.

Улаз

Сваки тест се састоји од више тест случајева. Први ред садржи један цео број $t$ ($1 \leq t \leq 10^4$) — број тест случајева. Ово је праћено њиховим описом.

Први ред сваког тест случаја садржи два цела броја $n$ и $k$ ($0 \leq k < n \leq 10^5$) — дужину низа $s$ и број знакова који се бришу.

Други ред сваког тест случаја садржи низ $s$ дужине $n$, састављен од малих латиничних слова.

Загарантовано је да збир $n$ у свим тест случајевима не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај излазите "YES" ако је могуће уклонити тачно $k$ знакова из низа $s$ на такав начин да преостали знакови могу бити преуређени да формирају палиндром, и "NO" у супротном.

Можете излазити одговор у било којој величини слова (велика или мала). На пример, низови "yEs", "yes", "Yes", и "YES" ће бити препознати као позитивни одговори. Пример улаза 1:
14

1 0

a

2 0

ab

2 1

ba

3 1

abb

3 2

abc

6 2

bacacd

6 2

fagbza

6 2

zwaafa

7 2

taagaak

14 3

ttrraakkttoorr

5 3

debdb

5 4

ecadc

5 3

debca

5 3

abaac

Пример излаза 1:

YES
NO
YES
YES
YES
YES
NO
NO
YES
YES
YES
YES
NO
YES

Напомена

У првом тест случају, ништа се не може уклонити, и низ "a" је палиндром.

У другом тест случају, ништа се не може уклонити, али низови "ab" и "ba" нису палиндроми.

У трећем тест случају, било који знак може бити уклоњен, и резултујући низ ће бити палиндром.

У четвртом тест случају, један наступ знака "a" може бити уклоњен, што резултује низом "bb", који је палиндром.

У шестом тест случају, један наступ знакова "b" и "d" може бити уклоњен, што резултује низом "acac", који може бити преуређен у низ "acca".

У деветом тест случају, један наступ знакова "t" и "k" може бити уклоњен, што резултује низом "aagaa", који је палиндром.

Дат вам је низ $s$ дужине $n$, састављен од малих латиничних слова, и цео број $k$.

Потребно је проверити да ли је могуће уклонити тачно $k$ знакова из низа $s$ на такав начин да преостали знакови могу бити преуређени да формирају палиндром. Пазите да на уму можете у било ком редоследу преуредити преостале знакове.

Палиндром је низ који се исто чита са обе стране. На пример, низови "z", "aaa", "aba", "abccba" су палиндроми, док низови "codeforces", "reality", "ab" нису.

Улаз

Сваки тест се састоји од више тест случајева. Први ред садржи један цео број $t$ ($1 \leq t \leq 10^4$) — број тест случајева. Ово је праћено њиховим описом.

Први ред сваког тест случаја садржи два цела броја $n$ и $k$ ($0 \leq k < n \leq 10^5$) — дужину низа $s$ и број знакова који се бришу.

Други ред сваког тест случаја садржи низ $s$ дужине $n$, састављен од малих латиничних слова.

Загарантовано је да збир $n$ у свим тест случајевима не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај излазите "YES" ако је могуће уклонити тачно $k$ знакова из низа $s$ на такав начин да преостали знакови могу бити преуређени да формирају палиндром, и "NO" у супротном.

Можете излазити одговор у било којој величини слова (велика или мала). На пример, низови "yEs", "yes", "Yes", и "YES" ће бити препознати као позитивни одговори. Пример улаза 1:
14

1 0

a

2 0

ab

2 1

ba

3 1

abb

3 2

abc

6 2

bacacd

6 2

fagbza

6 2

zwaafa

7 2

taagaak

14 3

ttrraakkttoorr

5 3

debdb

5 4

ecadc

5 3

debca

5 3

abaac

Пример излаза 1:

YES
NO
YES
YES
YES
YES
NO
NO
YES
YES
YES
YES
NO
YES

Напомена

У првом тест примеру, ништа не може да се уклони, и низ "a" је палиндром.

У другом тест примеру, ништа не може да се уклони, али низови "ab" и "ba" нису палиндроми.

У трећем тест примеру, било који карактер може да се уклони, и резултујући низ ће бити палиндром.

У четвртом тест примеру, један пример карактера "a" може да се уклони, чиме се добија низ "bb", који је палиндром.

У шестом тест примеру, један пример карактера "b" и "d" може да се уклони, чиме се добија низ "acac", који може да се преуређује у низ "acca".

У деветом тест примеру, један пример карактера "t" и "k" може да се уклони, чиме се добија низ "aagaa", који је палиндром.

Дат вам је стринг $с$ дужине $н$, који се састоји од малих латиничних слова и целог броја $к$.

Морате проверити да ли је могуће уклонити тачно $к$ знакова из стринга $с$ на начин да се преостали карактери могу преуредити у палиндром. Имајте на уму да можете променити редослед преосталих знакова на било који начин.

Палиндром је низ који чита исто напред и назад. На пример, низови "z", "ааа", "aba", "abccba" су палиндроми, док низови "codeforces", "reality", "ab" нису.

Инпут

Сваки тест се састоји од више тест случајева. Први ред садржи један цео број $t$ ($1 \leq t \leq 10^4$) — број тест случајева. Након тога следи њихов опис.

Први ред сваког тест случаја садржи два цела броја $н$ и $к$ ($0 \leq k < n \leq 10^5$) — дужину стринга $с$ и број знакова које треба избрисати.

Други ред сваког тест случаја садржи стринг $с$ дужине $н$, који се састоји од малих латиничних слова.

Гарантовано је да збир $н$ по свим тестним случајевима не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај, испишите „ДА“ ако је могуће уклонити тачно $к$ знакова из стринга $с$ на такав начин да се преостали карактери могу преуредити да формирају палиндром, и „НЕ“ у супротном.

Можете исписати одговор у било ком случају (велика или мала слова). На пример, низови "yEs", "yes", "Yes" и "YES" ће бити препознати као позитивни одговори. Пример уноса 1:
14

1 0

a

2 0

ab

2 1

ba

3 1

abb

3 2

abc

6 2

bacacd

6 2

fagbza

6 2

zwaafa

7 2

taagaak

14 3

ttrraakkttoorr

5 3

debdb

5 4

ecadc

5 3

debca

5 3

abaac

Пример излаза 1:

YES
NO
YES
YES
YES
YES
NO
NO
YES
YES
YES
YES
NO
YES

Напомена

У првом тест случају ништа се не може уклонити, а низ "а" је палиндром.

У другом тест случају ништа се не може уклонити, али низови „ab“ и „ba“ нису палиндроми.

У трећем тестном случају, било који знак се може уклонити, а резултујући низ ће бити палиндром.

У четвртом тест случају, једно појављивање знака "а" може бити уклоњено, што резултира низом "bb", који је палиндром.

У шестом тест случају, једно појављивање знакова "b" и "d" може бити уклоњено, што резултира низом "acac", који се може преуредити у низ "acca".

У деветом тест случају, једно појављивање знакова "t" и "k" може бити уклоњено, што резултира низом "aagaa", што је палиндром.


Дат вам је низ целих бројева $a_1, a_2, \ldots, a_n$ и број $k$ ($2 \leq k \leq 5$). У једној операцији, можете урадити следеће:

-  Изаберите индекс $1 \leq i \leq n$,
-  Поставите $a_i = a_i + 1$.

Нађите минималан број операција потребних да производ свих бројева у низу $a_1 \cdot a_2 \cdot \ldots \cdot a_n$ буде дељив са $k$.

Улаз

Сваки тест се састоји од више тест случајева. Први ред садржи један цео број $t$ ($1 \leq t \leq 10^4$) — број тест случајева. Потом следи опис тест случајева.

Први ред сваког тест случаја садржи два цела броја $n$ и $k$ ($2 \leq n \leq 10^5$, $2 \leq k \leq 5$) — величину низа $a$ и број $k$.

Други ред сваког тест случаја садржи $n$ целих бројева $a_1, a_2, \ldots, a_n$ ($1 \leq a_i \leq 10$).

Загарантовано је да збир $n$ преко свих тест случајева не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај, испишите минималан број операција потребних да производ свих бројева у низу буде дељив са $k$.

Пример улаза 1:
15

2 5

7 3

3 3

7 4 1

5 2

9 7 7 3 9

5 5

5 4 1 2 3

7 4

9 5 1 5 9 5 1

3 4

6 3 6

3 4

6 1 5

3 4

1 5 9

4 4

1 4 1 1

3 4

3 5 3

4 5

8 9 9 3

2 5

1 6

2 5

10 10

4 5

1 6 1 1

2 5

7 7

Пример излаза 1:

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

Напомена

У првом тест случају, треба да изаберемо индекс $i = 2$ два пута. Након тога, низ ће бити $a = [7, 5]$. Производ свих бројева у низу је $35$.

У четвртом тест случају, производ бројева у низу је $120$, што је већ дељиво са $5$, па нису потребне никакве операције.

У осмом тест случају, можемо да извршимо две операције избором $i = 2$ и $i = 3$ у било којем редоследу. Након тога, низ ће бити $a = [1, 6, 10]$. Производ бројева у низу је $60$.

Дат вам је низ целих бројева $a_1, a_2, \ldots, a_n$ и број $k$ ($2 \leq k \leq 5$). У једној операцији, можете урадити следеће:

-  Изаберите индекс $1 \leq i \leq n$,
-  Поставите $a_i = a_i + 1$.

Пронађите минималан број операција потребних да производ свих бројева у низу $a_1 \cdot a_2 \cdot \ldots \cdot a_n$ буде дељив са $k$.

Улаз

Сваки тест се састоји од више тест случајева. Први ред садржи један цео број $t$ ($1 \leq t \leq 10^4$) — број тест случајева. Потом следи опис тест случајева.

Први ред сваког тест случаја садржи два цела броја $n$ и $k$ ($2 \leq n \leq 10^5$, $2 \leq k \leq 5$) — величину низа $a$ и број $k$.

Други ред сваког тест случаја садржи $n$ целих бројева $a_1, a_2, \ldots, a_n$ ($1 \leq a_i \leq 10$).

Загарантовано је да збир $n$ преко свих тест случајева не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај, испишите минималан број операција потребних да производ свих бројева у низу буде дељив са $k$. Пример улаза 1:
15

2 5

7 3

3 3

7 4 1

5 2

9 7 7 3 9

5 5

5 4 1 2 3

7 4

9 5 1 5 9 5 1

3 4

6 3 6

3 4

6 1 5

3 4

1 5 9

4 4

1 4 1 1

3 4

3 5 3

4 5

8 9 9 3

2 5

1 6

2 5

10 10

4 5

1 6 1 1

2 5

7 7

Пример излаза 1:

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

Напомена

У првом тест случају, треба да изаберемо индекс $i = 2$ два пута. Након тога, низ ће бити $a = [7, 5]$. Производ свих бројева у низу је $35$.

У четвртом тест случају, производ бројева у низу је $120$, што је већ дељиво са $5$, па нису потребне никакве операције.

У осмом тест случају, можемо да извршимо две операције избором $i = 2$ и $i = 3$ у било којем редоследу. Након тога, низ ће бити $a = [1, 6, 10]$. Производ бројева у низу је $60$.


Ванја и Вова играју игру. Играчима је дат цели број $n$. На свом потезу, играч може да дода $1$ на тренутни број или да одузме $1$. Играчима се наизменично дају потези; Ванја почиње. Ако након Ванјиног потеза број буде делив са $3$, он побеђује. Ако после $10$ потеза Ванја не победи, Вова побеђује.

Напишите програм који, на основу целог броја $n$, одређује ко ће победити ако оба играча играју оптимално.

Улаз

Први ред садржи цео број $t$ ($1 \leq t \leq 100$) — број тест случајева.

Један ред сваког тест случаја садржи цео број $n$ ($1 \leq n \leq 1000$).

Излаз

За сваки тест случај испишите "First" без наводника ако Вања побеђује, и "Second" без наводника ако Вова побеђује.Пример улаз 1:
6

1

3

5

100

999

1000

Пример излаз 1:

First
Second
First
First
Second
First

Вања и Вова играју игру. Играчи добијају цео број $n$. На свом потезу, играч може додати $1$ тренутном броју или одузети $1$. Играчи се смењују; Вања почиње. Ако након Вањиног потеза цео број је дељив са $3$, он побеђује. Ако је прошло $10$ потеза и Вања није победио, онда Вова побеђује.

Напишите програм који, на основу целог броја $n$, одређује ко ће победити ако оба играча играју оптимално.

Улаз

Први ред садржи цео број $t$ ($1 \leq t \leq 100$) — број тест случајева.

Један ред сваког тест случаја садржи цео број $n$ ($1 \leq n \leq 1000$).

Излаз

За сваки тест случај испишите "First" без наводника ако Вања побеђује, и "Second" без наводника ако Вова побеђује.Sample Input 1:
6

1

3

5

100

999

1000

Sample Output 1:

First
Second
First
First
Second
First

Vanja i Vova igraju igru. Igračima se daje ceo broj n. Tokom svog poteza, igrač može dodati 1 na trenutni broj ili oduzeti 1. Igrači se smenjuju; Vanja počinje. Ako posle Vanjinog poteza broj postane deljiv sa 3, tada Vanja pobeđuje. Ako prođe 10 poteza i Vanja ne pobedi, tada Vova pobeđuje.

Napišite program koji, na osnovu broja n, određuje ko će pobediti ako oba igrača igraju optimalno.

Ulaz

Prvi red sadrži ceo broj t 1 \leq t \leq 100 — broj test slučajeva.

Jedini red svakog test slučaja sadrži ceo broj n 1 \leq n \leq 1000.

Izlaz

Za svaki test slučaj, ispišite "First" bez navodnika ako Vanja pobeđuje, ili "Second" bez navodnika ako Vova pobeđuje.

Primer ulaza 1:

6
1
3
5
100
999
1000

Primer izlaza 1:

First
Second
First
First
Second
First


Алекс учествује у снимању још једног видеа за БриМеаст, а БриМеаст је замолио Алекса да припреми 250 хиљада тона TNT-а, али Алекс га није добро чуо, па је припремио n кутија и распореду их у ред чекајући камионе. i-та кутија с леве стране тежи a_i тона.

Сви камиони које Алекс планира да користи имају исту бројку кутија, која је означена са k. Утовар се дешава на следећи начин:

- Првих $k$ кутија иде у први камион,
- Других $k$ кутија иде у други камион,
- $\dotsb$
- Последњих $k$ кутија иде у $\frac{n}{k}$-ти камион. Када је утовар завршен, сваки камион мора имати тачно $k$ кутија. Другим речима, ако у неком тренутку није могуће утоварити тачно $k$ кутија у камион, тада опција утовара са тим $k$ није могућа.

Алекс мрзи правду, па жели да максимална апсолутна разлика између укупних тежина два камиона буде што већа. Ако постоји само један камион, ова вредност је $0$.

Алекс има доста веза, тако да за сваки $1 \leq k \leq n$ може наћи компанију чији камиони могу да приме тачно $k$ кутија. Испишите максималну апсолутну разлику између укупних тежина било која два камиона.

Улаз

Први ред садржи један цео број $t$ ($1 \leq t \leq 10^4$) — број тест случајева.

Први ред сваког тест случаја садржи један цео број $n$ ($1 \leq n \leq 150\,000$) — број кутија.

Други ред садржи $n$ цели бројеви $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 10^9$) — тежине кутија.

Загарантовано је да збир $n$ за све тест случајеве не прелази $150\,000$.

Излаз

За сваки тест случај, испишите један цео број — одговор на проблем.

Sample Input 1:
5

2

1 2

6

10 2 3 6 1 3

4

1000000000 1000000000 1000000000 1000000000

15

60978 82265 78961 56708 39846 31071 4913 4769 29092 91348 64119 72421 98405 222 14294

8

19957 69913 37531 96991 57838 21008 14207 19198

Sample Output 1:

1
9
0
189114
112141

Note

У првом случају, требало би одабрати два камиона, тако да ће први имати само прву кутију, а други само другу кутију.

У другом случају, требало би одабрати шест камиона, тако да ће максимум бити $10$, минимум ће бити $1$, а одговор је $10 - 1 = 9$.

У трећем случају, за било који могући $k$, камиони ће имати исту укупну тежину кутија, па је одговор $0$.

Алекс учествује у снимању још једног видеа BrMeast, и BrMeast је замолио Алекса да припреми 250 хиљада тона динамита, али Алекс га није добро чуо, па је припремио $n$ кутија и поређао их у ред чекајући камионе. $i$-та кутија с лева тежи $a_i$ тона.

Сви камиони које ће Алекс користити примају исти број кутија, означених са $k$. Утовар се дешава на следећи начин:

- Првих $k$ кутија иде у први камион,
- Других $k$ кутија иде у други камион,
- $\dotsb$
- Последњих $k$ кутија иде у $\frac{n}{k}$-ти камион. Када је утовар завршен, сваки камион мора имати тачно $k$ кутија. Другим речима, ако у неком тренутку није могуће утоварити тачно $k$ кутија у камион, тада опција утовара са тим $k$ није могућа.

Алекс мрзи правду, па жели да максимална апсолутна разлика између укупних тежина два камиона буде што већа. Ако постоји само један камион, ова вредност је $0$.

Алекс има доста веза, тако да за сваки $1 \leq k \leq n$ може наћи компанију чији камиони могу да приме тачно $k$ кутија. Испишите максималну апсолутну разлику између укупних тежина било која два камиона.

Улаз

Први ред садржи један цео број $t$ ($1 \leq t \leq 10^4$) — број тест случајева.

Први ред сваког тест случаја садржи један цео број $n$ ($1 \leq n \leq 150\,000$) — број кутија.

Други ред садржи $n$ цели бројеви $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 10^9$) — тежине кутија.

Загарантовано је да збир $n$ за све тест случајеве не прелази $150\,000$.

Излаз

За сваки тест случај, испишите један цео број — одговор на проблем.

Sample Input 1:
5

2

1 2

6

10 2 3 6 1 3

4

1000000000 1000000000 1000000000 1000000000

15

60978 82265 78961 56708 39846 31071 4913 4769 29092 91348 64119 72421 98405 222 14294

8

19957 69913 37531 96991 57838 21008 14207 19198

Sample Output 1:

1
9
0
189114
112141

Note

У првом случају, требало би одабрати два камиона, тако да ће први имати само прву кутију, а други само другу кутију.

У другом случају, требало би одабрати шест камиона, тако да ће максимум бити $10$, минимум ће бити $1$, а одговор је $10 - 1 = 9$.

У трећем случају, за било који могући $k$, камиони ће имати исту укупну тежину кутија, па је одговор $0$.

Alex učestvuje u snimanju još jednog videa za BrMeast, i BrMeast je zamolio Alexa da pripremi 250 hiljada tona TNT-a, ali Alex ga nije dobro čuo, pa je pripremio $n$ kutija i poredao ih u red čekajući kamione. $i$-ta kutija s leva teži $a_i$ tona.

Svi kamioni koje će Alex koristiti drže isti broj kutija, označen sa $k$. Utovar se vrši na sledeći način:

- Prvih $k$ kutija ide u prvi kamion,
- Drugi $k$ kutija ide u drugi kamion,
- $\dotsb$
- Poslednjih $k$ kutija ide u $\frac{n}{k}$-ti kamion. Kada se utovar završi, svaki kamion mora imati tačno $k$ kutija. Drugim rečima, ako u nekom trenutku nije moguće utovariti tačno $k$ kutija u kamion, onda opcija utovara sa tim $k$ nije moguća.

Алекс мрзи правду, па жели да максимална апсолутна разлика између укупних тежина два камиона буде што већа. Ако постоји само један камион, ова вредност је $0$.

Алекс има доста веза, тако да за сваки $1 \leq k \leq n$ може наћи компанију чији камиони могу да приме тачно $k$ кутија. Испишите максималну апсолутну разлику између укупних тежина било која два камиона.

Улаз

Први ред садржи један цео број $t$ ($1 \leq t \leq 10^4$) — број тест случајева.

Први ред сваког тест случаја садржи један цео број $n$ ($1 \leq n \leq 150\,000$) — број кутија.

Други ред садржи $n$ цели бројеви $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 10^9$) — тежине кутија.

Загарантовано је да збир $n$ за све тест случајеве не прелази $150\,000$.

Излаз

За сваки тест случај, испишите један цео број — одговор на проблем.

Sample Input 1:
5

2

1 2

6

10 2 3 6 1 3

4

1000000000 1000000000 1000000000 1000000000

15

60978 82265 78961 56708 39846 31071 4913 4769 29092 91348 64119 72421 98405 222 14294

8

19957 69913 37531 96991 57838 21008 14207 19198

Sample Output 1:

1
9
0
189114
112141

Objašnjenje

U prvom slučaju, trebalo bi da izaberemo dva kamiona, pa će prvi kamion imati samo prvu kutiju, a drugi kamion samo drugu kutiju.

U drugom slučaju, trebalo bi da izaberemo šest kamiona, pa će maksimum biti $10$, minimum $1$, a odgovor je $10 - 1 = 9$.

U trećem slučaju, za bilo koji mogući $k$, kamioni će imati istu ukupnu težinu kutija, pa je odgovor $0$.


Подниз је континуирани део низа.

Јарик је недавно пронашао низ $a$ од $n$ елемената и веома је заинтересован за проналажење максималне суме не-празног подниза. Међутим, Јарик не воли узастопне целе бројеве истог паритета, па подниз који изабере мора имати наизменичне паритете за суседне елементе.

На пример, $[1, 2, 3]$ је прихватљив, али $[1, 2, 4]$ није, јер су $2$ и $4$ оба парна и суседна.

Треба да помогнете Јарику да пронађе максималну суму таквог подниза.

Унос

Прва линија садржи цео број $t$ $(1 \le t \le 10^4)$ — број тест случајева. Сваки тест случај је описан следећим редоследом.

Прва линија сваког тест случаја садржи цео број $n$ $(1 \le n \le 2 \cdot 10^5)$ — дужина низа.

Друга линија сваког тест случаја садржи $n$ целих бројева $a_1, a_2, \dots, a_n$ $(-10^3 \le a_i \le 10^3)$ — елементи низа.

Загарантовано је да збир $n$ за све тест случајеве не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај, излазити један цео број — одговор на проблем.

Пример уноса 1:
7

5

1 2 3 4 5

4

9 9 8 8

6

-1 4 -1 0 5 -4

4

-1 2 4 -3

1

-1000

3

101 -99 101

20

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

Пример излаза 1:

15
17
8
4
-1000
101
10

Подниз је непрекидни део низа.

Иарик је недавно пронашао низ $а$ од $н$ елемената и постао је веома заинтересован за проналажење максималног збира непразног подниза. Међутим, Иарик не воли узастопне целе бројеве са истим паритетом, тако да подниз који одабере мора имати наизменичне парности за суседне елементе.

На пример, $[1, 2, 3]$ је прихватљиво, али $[1, 2, 4]$ није, пошто су и $2$ и $4$ парни и суседни.

Морате помоћи Јарику тако што ћете пронаћи максималан збир таквог подниза.

Инпут

Први ред садржи цео број $т$ $(1 \ле т \ле 10^4)$ — број тест случајева. Сваки тест случај је описан на следећи начин.

Први ред сваког тест случаја садржи цео број $н$ $(1 \ле н \ле 2 \цдот 10^5)$ — дужину низа.

Други ред сваког тест случаја садржи $н$ целих бројева $а_1, а_2, \дотс, а_н$ $(-10^3 \ле а_и \ле 10^3)$ — елементе низа.

Гарантовано је да збир $н$ за све тестне случајеве не прелази $2 \цдот 10^5$.

Излаз

За сваки тест случај, испишите један цео број — одговор на проблем. Пример уноса 1:
7

5

1 2 3 4 5

4

9 9 8 8

6

-1 4 -1 0 5 -4

4

-1 2 4 -3

1

-1000

3

101 -99 101

20

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

Пример излаза 1:

15
17
8
4
-1000
101
10

Подниз је непрекидни део низа.

Иарик је недавно пронашао низ $а$ од $n$ елемената и постао је веома заинтересован за проналажење максималног збира непразног подниза. Међутим, Иарик не воли узастопне целе бројеве са истим паритетом, тако да подниз који одабере мора имати наизменичне парности за суседне елементе.

На пример, $[1, 2, 3]$ је прихватљиво, али $[1, 2, 4]$ није, пошто су и $2$ и $4$ парни и суседни.

Морате помоћи Јарику тако што ћете пронаћи максималан збир таквог подниза.

Инпут

Први ред садржи цео број $t$ $(1 \le t \le 10^4)$ — број тест случајева. Сваки тест случај је описан на следећи начин.

Први ред сваког тест случаја садржи цео број $n$ $(1 \le n \le 2 \cdot 10^5)$ — дужину низа.

Други ред сваког тест случаја садржи $n$ integers $a_1, a_2, \dots, a_n$ $(-10^3 \le a_i \le 10^3)$ — елементе низа.

Гарантовано је да збир $n$ за све тестне случајеве не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај испишите један цео број — одговор на проблем. Пример уноса 1:
7

5

1 2 3 4 5

4

9 9 8 8

6

-1 4 -1 0 5 -4

4

-1 2 4 -3

1

-1000

3

101 -99 101

20

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

Пример излаза 1:

15
17
8
4
-1000
101
10


Ярик је велики обожавалац различитих врста музике. Али, Јарик не воли само да слуша музику, већ и да је компонује. Највише воли електронску музику, па је створио свој систем музичких нота, који је, по његовом мишљењу, најбољи за то.

Пошто Јарик воли и информатику, у његовом систему, ноте се означавају целобројним вредностима $2^k$, где је $k \ge 1$ — позитиван цео број. Али, као што знате, не можете користити само ноте за писање музике, па Јарик користи комбинације две ноте. Комбинацију две ноте $(a, b)$, где је $a = 2^k$ и $b = 2^l$, он означава са целим бројем $a^b$.

На пример, ако је $a = 8 = 2^3$, $b = 4 = 2^2$, онда се комбинација $(a, b)$ означава са целим бројем $a^b = 8^4 = 4096$. Имајте на уму да различите комбинације могу имати исту ознаку, нпр. комбинација $(64, 2)$ је такође означена са бројем $4096 = 64^2$.

Јарик је већ изабрао $n$ нота које жели да користи у својој новој мелодији. Међутим, пошто њихове целобројне вредности могу бити веома велике, он их је записао као низ $a$ дужине $n$, онда је нота $i$ $b_i = 2^{a_i}$. Цели бројеви у низу $a$ се могу понављати.

Мелодија ће се састојати од неколико комбинација две ноте. Јарик се питао колико парова нота $b_i, b_j$ $(i < j)$ постоји тако да је комбинација $(b_i, b_j)$ једнака комбинацији $(b_j, b_i)$. Другим речима, он жели да преброји колико постоји парова $(i, j)$ $(i < j)$ тако да је $b_i^{b_j} = b_j^{b_i}$. Помозите му да пронађе број таквих парова.

Улаз

Први ред улаза садржи један цео број $t$ ($1 \le t \le 10^4$) — број тест случајева.

Први ред сваког тест случаја садржи један цео број $n$ ($1 \leq n \leq 2 \cdot 10^5$) — дужину низа.

Следећи ред садржи $n$ целих бројева $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 10^9$) — низ $a$.

Загарантовано је да збир вредности $n$ у свим тест случајевима не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај, испишите број парова који задовољавају дати услов.

Пример улаза 1:
5

1

2

4

3 1 3 2

2

1000 1000

3

1 1 1

19

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

Пример излаза 1:

0
2
1
3
19

Јарик је велики обожавалац различитих врста музике. Али, Јарик не воли само да слуша музику, већ и да је компонује. Највише воли електронску музику, па је створио свој систем музичких нота, који је, по његовом мишљењу, најбољи за то.

Пошто Јарик воли и информатику, у његовом систему, ноте се означавају целобројним вредностима $2^k$, где је $k \ge 1$ — позитиван цео број. Али, као што знате, не можете користити само ноте за писање музике, па Јарик користи комбинације две ноте. Комбинацију две ноте $(a, b)$, где је $a = 2^k$ и $b = 2^l$, он означава са целим бројем $a^b$.

На пример, ако је $a = 8 = 2^3$, $b = 4 = 2^2$, онда се комбинација $(a, b)$ означава са целим бројем $a^b = 8^4 = 4096$. Запазите да различите комбинације могу имати исту ознаку, нпр. комбинација $(64, 2)$ је такође означена са бројем $4096 = 64^2$.

Јарик је већ изабрао $n$ нота које жели да користи у својој новој мелодији. Међутим, пошто њихове целобројне вредности могу бити веома велике, он их је записао као низ $a$ дужине $n$, онда је нота $i$ $b_i = 2^{a_i}$. Цели бројеви у низу $a$ се могу понављати.

Мелодија ће се састојати од неколико комбинација две ноте. Јарик се питао колико парова нота $b_i, b_j$ $(i < j)$ постоји тако да је комбинација $(b_i, b_j)$ једнака комбинацији $(b_j, b_i)$. Другим речима, он жели да преброји колико постоји парова $(i, j)$ $(i < j)$ тако да је $b_i^{b_j} = b_j^{b_i}$. Помозите му да пронађе број таквих парова.

Улаз

Први ред улаза садржи један цео број $t$ ($1 \le t \le 10^4$) — број тест случајева.

Први ред сваког тест случаја садржи један цео број $n$ ($1 \leq n \leq 2 \cdot 10^5$) — дужину низа.

Следећи ред садржи $n$ целих бројева $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 10^9$) — низ $a$.

Загарантовано је да збир вредности $n$ у свим тест случајевима не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај, испишите број парова који задовољавају дати услов.Пример улаза 1:
5

1

2

4

3 1 3 2

2

1000 1000

3

1 1 1

19

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

Пример излаза 1:

0
2
1
3
19

Јарик је велики љубитељ многих врста музике. Али Јарик не воли само да слуша музику, већ и да је ствара. Највише воли електронску музику, па је осмислио свој систем музичких нота, који је, по његовом мишљењу, најбољи за ту врсту музике.

Пошто Јарик воли и информатику, у његовом систему, ноте се означавају целобројним вредностима $2^k$, где је $k \ge 1$ — позитиван цео број. Али, као што знате, не можете користити само ноте за писање музике, па Јарик користи комбинације две ноте. Комбинацију две ноте $(a, b)$, где је $a = 2^k$ и $b = 2^l$, он означава са целим бројем $a^b$.

На пример, ако је $a = 8 = 2^3$, $b = 4 = 2^2$, онда се комбинација $(a, b)$ означава са целим бројем $a^b = 8^4 = 4096$. Имајте на уму да различите комбинације могу имати исту ознаку, нпр. комбинација $(64, 2)$ је такође означена са бројем $4096 = 64^2$.

Јарик је већ изабрао $n$ нота које жели да користи у својој новој мелодији. Међутим, пошто њихове целобројне вредности могу бити веома велике, он их је записао као низ $a$ дужине $n$, онда је нота $i$ $b_i = 2^{a_i}$. Цели бројеви у низу $a$ се могу понављати.

Мелодија ће се састојати од неколико комбинација две ноте. Јарик се питао колико парова нота $b_i, b_j$ $(i < j)$ постоји тако да је комбинација $(b_i, b_j)$ једнака комбинацији $(b_j, b_i)$. Другим речима, он жели да преброји колико постоји парова $(i, j)$ $(i < j)$ тако да је $b_i^{b_j} = b_j^{b_i}$. Помозите му да пронађе број таквих парова.

Улаз

Први ред улаза садржи један цео број $t$ ($1 \le t \le 10^4$) — број тест случајева.

Први ред сваког тест случаја садржи један цео број $n$ ($1 \leq n \leq 2 \cdot 10^5$) — дужину низа.

Следећи ред садржи $n$ целих бројева $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 10^9$) — низ $a$.

Загарантовано је да збир вредности $n$ у свим тест случајевима не прелази $2 \cdot 10^5$.

Излаз

За сваки тест случај, испишите број парова који задовољавају дати услов.

Пример улаза 1:
5

1

2

4

3 1 3 2

2

1000 1000

3

1 1 1

19

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

Пример излаза 1:

0
2
1
3
19


Дат вам је низ стрингова details индексиран од 0. Сваки елемент у details пружа информације о одређеном путнику компресоване у стринг дужине 15. Систем функционише на следећи начин:

Првих десет карактера чине број телефона путника.
Наредни карактер означава пол особе.
Следећа два карактера се користе за означавање старости особе.
Последња два карактера одређују седиште додељено тој особи.

Вратите број путника који су строго старији од 60 година.

Пример 1:

Улаз: details = ["7868190130M7522","5303914400F9211","9273338290F4010"]
Излаз: 2
Објашњење: Путници на индексима 0, 1 и 2 имају године 75, 92 и 40. Дакле, постоје 2 особе које су старије од 60 година.

Пример 2:

Улаз: details = ["1313579440F2036","2921522980M5644"]
Излаз: 0
Објашњење: Ниједан од путника није старији од 60 година.

Ограничења:

1 <= details.length <= 100
details[i].length == 15
details[i] се састоји од цифара од '0' до '9'.
details[i][10] је или 'M' или 'F' или 'O'.
Бројеви телефона и бројеви седишта путника су јединствени.

Дат вам је низ детаља низова индексираних 0. Сваки елемент детаља пружа информације о датом путнику компримоване у низ дужине 15. Систем је такав да:

Првих десет знакова се састоји од телефонског броја путника.
Следећи знак означава пол особе.
Следећа два знака се користе за означавање старости особе.
Последња два знака одређују место додељено тој особи.

Вратите број путника који су строго старији од 60 година.

Пример 1:

Унос: details = ["7868190130M7522","5303914400F9211","9273338290F4010"]
Излаз: 2
Објашњење: Путници на индексима 0, 1 и 2 имају 75, 92 и 40 година. Дакле, постоје 2 особе старије од 60 година.

Пример 2:

Унос:  details = ["1313579440F2036","2921522980M5644"]
Излаз: 0
Објашњење: Нико од путника није старији од 60 година.

Ограничења:

1 <= details.length <= 100
details[i].length == 15
details[i] се састоје од цифара од '0' до '9'.
details[i][10][10] је или 'М' или 'Ф' или 'О'.
Бројеви телефона и седишта путника су различити.

Дат вам је низ стрингова details, индексиран од 0. Сваки елемент низа details садржи информације о одређеном путнику, компримоване у стринг дужине 15. Систем је такав да:

- Првих десет карактера чине број телефона путника.
- Следећи карактер означава пол особе.
- Наредна два карактера користе се за означавање старости особе.
- Последња два карактера одређују седиште додељено тој особи.

Вратите број путника који су старији од 60 година.

Пример 1:

Улаз: details = ["7868190130M7522","5303914400F9211","9273338290F4010"]
Излаз: 2
Објашњење: Путници на индексима 0, 1 и 2 имају године 75, 92 и 40. Дакле, постоје 2 особе које су старије од 60 година.

Пример 2:

Улаз: details = ["1313579440F2036","2921522980M5644"]
Излаз: 0
Објашњење: Ниједан од путника није старији од 60 година.

Ограничења:

1 <= details.length <= 100
details[i].length == 15
details[i] се састоји од цифара од '0' до '9'.
details[i][10] је или 'M' или 'F' или 'O'.
Бројеви телефона и бројеви седишта путника су јединствени.


Дат вам је дво-димензионални целобројни низ nums. Иницијално, ваш резултат је 0. Извршавајте следеће операције све док матрица не постане празна:

Из сваког реда у матрици, изаберите највећи број и уклоните га. У случају изједначености, није важно који број ће бити изабран. Идентификујте највећи број међу свим уклоњеним бројевима у кораку 1. Додајте тај број вашем резултату.

Вратите коначни резултат.

Пример 1:

Улаз: nums = [[7,2,1],[6,4,2],[6,5,3],[3,2,1]]
Излаз: 15
Објашњење: У првој операцији, уклањамо 7, 6, 6 и 3. Затим додајемо 7 нашем резултату. Следеће, уклањамо 2, 4, 5 и 2. Додајемо 5 нашем резултату. На крају, уклањамо 1, 2, 3 и 1. Додајемо 3 нашем резултату. И зато наш коначни резултат је 7 + 5 + 3 = 15.

Пример 2:

Улаз: nums = [[1]]
Излаз: 1
Објашњење: Уклањамо 1 и додамо га одговору. Враћамо 1.

Ограничења:

1 <= nums.length <= 300
1 <= nums[i].length <= 500
0 <= nums[i][j] <= 10^3

Дат вам је 0-индексиран 2D целобројни низ бројева. У почетку, ваш резултат је 0. Извршите следеће операције док матрица не постане празна:

Из сваког реда у матрици изаберите највећи број и уклоните га. У случају нерешеног резултата, није битно који ће број бити изабран.
Идентификујте највећи број од свих уклоњених у кораку 1. Додајте тај број свом резултату.

Врати коначан резултат.

Пример 1:

Улаз: nums = [[7,2,1],[6,4,2],[6,5,3],[3,2,1]]
Излаз: 15
Објашњење: У првој операцији уклањамо 7, 6, 6 и 3. Затим додајемо 7 нашем резултату. Затим уклањамо 2, 4, 5 и 2. Додајемо 5 нашем резултату. На крају, уклањамо 1, 2, 3 и 1. Додајемо 3 нашем резултату. Дакле, наш коначни резултат је 7 + 5 + 3 = 15.

Пример 2:

Улаз: nums = [[1]]
Излаз: 1
Објашњење: Уклањамо 1 и додајемо га одговору. Враћамо се 1.

Ограничења:

1 <= nums.length <= 300
1 <= nums[i].length <= 500
0 <= nums[i][j] <= 10^3

Дат вам је 0-индексирани 2D низ целих бројева nums. У почетку, ваш резултат је 0. Извршите следеће операције док матрица не постане празна:

1. Из сваког реда у матрици изаберите највећи број и уклоните га. У случају изједначености, није важно који број ће бити изабран.
2. Пронађите највећи број међу свим уклоњеним бројевима у кораку 1. Додајте тај број вашем резултату.

Вратите коначни резултат.

Пример 1:

Улаз: nums = [[7,2,1],[6,4,2],[6,5,3],[3,2,1]]
Излаз: 15
Објашњење: У првој операцији, уклањамо 7, 6, 6 и 3. Затим додајемо 7 нашем резултату. Следећи корак, уклањамо 2, 4, 5 и 2. Додајемо 5 нашем резултату. На крају, уклањамо 1, 2, 3 и 1. Додајемо 3 нашем резултату. Стога, наш коначни резултат је 7 + 5 + 3 = 15.

Пример 2:

Улаз: nums = [[1]]
Излаз: 1
Објашњење: Уклањамо 1 и додамо га одговору. Враћамо 1.

Ограничења:

1 <= nums.length <= 300
1 <= nums[i].length <= 500
0 <= nums[i][j] <= 10^3


Imate dati niz celobrojnih vrednosti nums dužine n i ceo broj k. U jednoj operaciji možete odabrati element i pomnožiti ga sa 2.
Vratite maksimalnu moguću vrednost izraza nums[0] | nums[1] | ... | nums[n - 1] koja se može postići primenom ove operacije najviše k puta.
Napomena: Ovdje a | b označava bitovski OR između dva cela broja a i b.

Primer 1:

Ulaz:nums = [12, 9], k = 1
Izlaz:30
Objašnjenje: Ako primenimo operaciju na indeksu 1, naš novi niz nums biće [12, 18]. Tako dobijamo bitovski OR između 12 i 18, što je 30.

Primer 2:

Ulaz:nums = [8, 1, 2], k = 2
Izlaz: 35
Objašnjenje: Ako primenimo operaciju dva puta na indeksu 0, dobijamo novi niz [32, 1, 2]. Tako dobijamo 32|1|2 = 35.

Ograničenja:

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

Дат вам је низ целих бројева nums дужине n и цело число k. У операцији, можете изабрати елемент и помножити га са 2. Вратите максималну могућу вредност nums[0] | nums[1] | ... | nums[n - 1] коју можете добити након примене операције на nums највише k пута.
Напомена: a | b означава бинарно или између два цела броја a и b.

Пример 1:

Улаз: nums = [12,9], k = 1
Излаз: 30
Објашњење: Ако применимо операцију на индекс 1, наш нови низ nums ће бити једнак [12,18]. Дакле, враћамо бинарно или од 12 и 18, што је 30.

Пример 2:

Улаз: nums = [8,1,2], k = 2
Излаз: 35
Објашњење: Ако применимо операцију два пута на индекс 0, добијамо нови низ [32,1,2]. Дакле, враћамо 32|1|2 = 35.

Ограничења:

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

Дат је низ целих бројева nums дужине n са индексима од 0 и цео број k.
У једној операцији можете изабрати један елемент и помножити га са 2.
Вратите максималну могућу вредност nums[0] | nums[1] | ... | nums[n - 1] која се може добити након примене операције на nums највише k пута.
Имајте на уму да a | b означава битовску операцију или између два цела броја a и b.

Пример 1:

Улаз: nums = [12,9], k = 1
Излаз: 30
Објашњење: Ако применимо операцију на индекс 1, наш нови низ nums ће бити једнак [12,18]. Дакле, враћамо бинарно или од 12 и 18, што је 30.

Пример 2:

Улаз: nums = [8,1,2], k = 2
Излаз: 35
Објашњење: Ако применимо операцију два пута на индекс 0, добијамо нови низ [32,1,2]. Дакле, враћамо 32|1|2 = 35.

Ограничења:

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


Дат вам је низ целих бројева `nums`, индексиран од 0, који представља резултате ученика на испиту.
Учитељ жели да формира једну непразну групу ученика са максималном снагом, где је снага групе ученика са индексима i_0, i_1, i_2, ..., i_k дефинисана као nums[i_0] * nums[i_1] * nums[i_2] * ... * nums[i_k].
Вратите максималну снагу групе коју учитељ може направити.

Пример 1:

Улаз: nums = [3,-1,-5,2,5,-9]
Излаз: 1350
Објашњење: Један начин да се формира група са максималном снагом је да се групишу ученици на индексима [0,2,3,4,5]. Њихова снага је 3 * (-5) * 2 * 5 * (-9) = 1350, што можемо показати да је оптимално.

Пример 2:

Улаз: nums = [-4,-5,-4]
Излаз: 20
Објашњење: Групишите ученике на индексима [0, 1]. Тада ћемо имати резултирајућу снагу од 20. Не можемо постићи већу снагу.

Ограничења:

1 <= nums.length <= 13
-9 <= nums[i] <= 9

Дат је вам 0-индексирани низ целих бројева nums који представљају резултате студената на испиту. Наставник жели да формира једну не-празну групу студената са максималном снагом, где је снага групе ученика са индексима i_0, i_1, i_2, ... , i_k дефинисана као nums[i_0] * nums[i_1] * nums[i_2] * ... * nums[i_k].
Вратите максималну снагу групе коју наставник може да креира.

Пример 1:

Улаз: nums = [3,-1,-5,2,5,-9]
Излаз: 1350
Објашњење: Један начин да се формира група са максималном снагом је да се групишу ученици на индексима [0,2,3,4,5]. Њихова снага је 3 * (-5) * 2 * 5 * (-9) = 1350, што можемо показати да је оптимално.

Пример 2:

Улаз: nums = [-4,-5,-4]
Излаз: 20
Објашњење: Групишите студенте на индексима [0, 1]. Тиме ћемо добити резултујућу снагу од 20. Не можемо постићи већу снагу.

Ограничења:

1 <= nums.length <= 13
-9 <= nums[i] <= 9

Дат је низ целих бројева nums индексиран од нуле, који представља резултат ученика на испиту. Наставник би желео да формира једну непразну групу ученика са максималном снагом, где је снага групе ученика са индексима i_0, i_1, i_2, ... , i_k дефинисана као nums[i_0] * nums[i_1] * nums[i_2] * ... * nums[i_k].
Вратите максималну снагу групе коју наставник може да креира.

Пример 1:

Улаз: nums = [3,-1,-5,2,5,-9]
Излаз: 1350
Објашњење: Један начин да се формира група са максималном снагом је да се групишу ученици на индексима [0,2,3,4,5]. Њихова снага је 3 * (-5) * 2 * 5 * (-9) = 1350, што можемо показати да је оптимално.

Пример 2:

Улаз: nums = [-4,-5,-4]
Излаз: 20
Објашњење: Групишите ученике на индексима [0, 1]. Тада ћемо имати резултирајућу снагу од 20. Не можемо постићи већу снагу.

Ограничења:

1 <= nums.length <= 13
-9 <= nums[i] <= 9


Дат је 0-индексирани стринг s и речник речи dictionary. Потребно је да разложите s у један или више непоклапајућих поднизова тако да је сваки подниз присутан у речнику. Може постојати неки додатни број карактера у s који нису присутни ни у једном поднизу. Вратите минимални број додатних карактера који остају ако оптимално разложите s.

Пример 1:

Улаз: s = "leetscode", dictionary = ["leet","code","leetcode"]
Излаз: 1
Објашњење: Можемо разложити s у два подниза: "leet" од индекса 0 до 3 и "code" од индекса 5 до 8. Постоји само 1 неупотребљиви карактер (на индексу 4), тако да враћамо 1.

Пример 2:

Улаз: s = "sayhelloworld", dictionary = ["hello","world"]
Излаз: 3
Објашњење: Можемо разложити s у два подниза: "hello" од индекса 3 до 7 и "world" од индекса 8 до 12. Карактери на индексима 0, 1, 2 нису употребљени у ниједном поднизу и према томе се сматрају додатним карактерима. Дакле, враћамо 3.

Ограничења:

1 <= s.length <= 50
1 <= dictionary.length <= 50
1 <= dictionary[i].length <= 50
dictionary[i] и s се састоје само од малих енглеских слова
dictionary садржи различите речи

Дат је 0-индексирани стринг s и речник речи dictionary. Потребно је да разложите s у један или више непоклапајућих поднизова тако да је сваки подниз присутан у речнику. Може постојати неки додатни број карактера у s који нису присутни ни у једном поднизу. Вратите минимални број додатних карактера који остају ако оптимално разложите s.

Пример 1:

Улаз: s = "leetscode", dictionary = ["leet","code","leetcode"]
Излаз: 1
Објашњење: Можемо разложити s у два подниза: "leet" од индекса 0 до 3 и "code" од индекса 5 до 8. Постоји само 1 неупотребљиви карактер (на индексу 4), тако да враћамо 1.

Пример 2:

Улаз: s = "sayhelloworld", dictionary = ["hello","world"]
Излаз: 3
Објашњење: Можемо разложити s у два подниза: "hello" од индекса 3 до 7 и "world" од индекса 8 до 12. Карактери на индексима 0, 1, 2 нису употребљени у ниједном поднизу и стога се сматрају додатним карактерима. Према томе, враћамо 3.

Ограничења:

1 <= s.length <= 50
1 <= dictionary.length <= 50
1 <= dictionary[i].length <= 50
dictionary[i] и s се састоје само од малих енглеских слова
dictionary садржи различите речи

Дат вам је низ s са индексима 0 и речник речи dictionary. Треба да разложите s на један или више непрелазних поднизова тако да сваки подниз буде присутан у речнику. Могу постојати неки додатни знакови у s који нису присутни у ниједном од поднизова. Вратите минималан број додатних знакова који остају ако оптимално разложите s.

Пример 1:

Улаз: s = "leetscode", dictionary = ["leet","code","leetcode"]
Излаз: 1
Објашњење: Можемо разложити s у два подниза: "leet" од индекса 0 до 3 и "code" од индекса 5 до 8. Постоји само 1 неупотребљиви карактер (на индексу 4), тако да враћамо 1.

Пример 2:

Улаз: s = "sayhelloworld", dictionary = ["hello","world"]
Излаз: 3
Објашњење: Можемо разложити s у два подниза: "hello" од индекса 3 до 7 и "world" од индекса 8 до 12. Карактери на индексима 0, 1, 2 нису употребљени у ниједном поднизу и стога се сматрају додатним карактерима. Према томе, враћамо 3.

Ограничења:

1 <= s.length <= 50
1 <= dictionary.length <= 50
1 <= dictionary[i].length <= 50
dictionary[i] и s се састоје само од малих енглеских слова
dictionary садржи различите речи


Дат вам је низ целих бројева prices који представљају цене различитих чоколада у продавници. Такође вам је дат један цео број money, који представља ваш почетни износ новца.
Морате купити тачно две чоколаде на такав начин да вам остане нека ненегативна количина преосталог новца. Желите да минимизујете збир цена две купљене чоколаде.
Вратите износ новца који ће вам остати након куповине две чоколаде. Ако не постоји начин да купите две чоколаде а да не завршите у дугу, вратите money. Напомена: преостала количина новца мора бити ненегативна.

Пример 1:

Улаз: prices = [1, 2, 2], money = 3
Излаз: 0
Објашњење: Купите чоколаде по ценама од 1 и 2 јединице. Остаће вам 3 - 3 = 0 јединица новца након тога. Дакле, враћамо 0.

Пример 2:

Улаз: prices = [3, 2, 3], money = 3
Излаз: 3
Објашњење: Не можете купити 2 чоколаде а да не уђете у дуг, тако да враћамо 3.

Ограничења:

2 <= prices.length <= 50
1 <= prices[i] <= 100
1 <= money <= 100

Dati su vam niz celih brojeva prices koji predstavljaju cene različitih čokolada u prodavnici. Takođe, dobijate jedan ceo broj money, koji predstavlja vaš početni iznos novca.
Morate kupiti tačno dve čokolade na način da vam ostane neki nenegativni ostatak novca. Želite da minimizujete sumu cena dve čokolade koje kupite.
Vratite iznos novca koji će vam ostati nakon kupovine dve čokolade. Ako ne postoji način da kupite dve čokolade bez da ostanete u dugu, vratite `money`. Napomena: ostatak mora biti nenegativan.

Primer 1:

Ulaz: prices = [1,2,2], money = 3
Izlaz: 0
Objašnjenje: Kupite čokolade po cenama od 1 i 2 jedinice. Ostaće vam 3 - 3 = 0 jedinica novca nakon toga. Dakle, vraćamo 0.

Primer 2:

Ulaz: prices = [3,2,3], money = 3
Izlaz: 3
Objašnjenje: Ne možete kupiti 2 čokolade a da ne uđete u dug, tako da vraćamo 3.

Ograničenja:

2 <= prices.length <= 50
1 <= prices[i] <= 100
1 <= money <= 100

Дат вам је целобројни низ цена које представљају цене разних чоколада у продавници. Такође вам је дат један цео новац, који представља ваш почетни износ новца.
Морате купити тачно две чоколаде на начин да и даље имате нешто ненегативног новца. Желите да минимизирате збир цена две чоколаде које купите.
Вратите износ новца који вам остане након куповине две чоколаде. Ако не можете да купите две чоколаде а да не завршите у дуговима, вратите новац. Имајте на уму да остатак мора бити ненегативан.

Пример 1:

Улаз: prices = [1,2,2], money = 3
Излаз: 0
Објашњење: Купујте чоколаде по цени од 1 и 2 јединице. Након тога ћете имати 3 - 3 = 0 јединица новца. Дакле, враћамо 0.

Пример 2:

Улаз: цене = [3,2,3], новац = 3
Излаз: 3
Објашњење: Не можете купити 2 чоколаде а да не задужите, па враћамо 3.

Ограничења:

2 <= prices.length <= 50
1 <= prices[i] <= 100
1 <= money <= 100


Дати су два бројна низа num1 и num2 и два цела броја max_sum и min_sum. Кажемо да је целобројни број x добар ако:

num1 <= x <= num2
min_sum <= digit_sum(x) <= max_sum.

Вратите број добрих интегера. Пошто одговор може бити велики, вратите га модулом 10^9 + 7.
Напомена да digit_sum(x) означава збир цифара x.

Пример 1:

Улаз: num1 = "1", num2 = "12", min_sum = 1, max_sum = 8
Излаз: 11
Објашњење: Постоји 11 бројева чији збир цифара лежи између 1 и 8: 1,2,3,4,5,6,7,8,10,11 и 12. Дакле, враћамо 11.

Пример 2:

Улаз: num1 = "1", num2 = "5", min_sum = 1, max_sum = 5
Излаз: 5
Објашњење: Пет бројева чији збир цифара лежи између 1 и 5 су 1,2,3,4 и 5. Дакле, враћамо 5.

Ограничења:

1 <= num1 <= num2 <= 10^22
1 <= min_sum <= max_sum <= 400

Дате су две нумеричке ниске num1 и num2 и два цела броја max_sum и min_sum. Интегер x је добар ако важи следеће:

num1 <= x <= num2
min_sum <= digit_sum(x) <= max_sum.

Вратите број добрих интегера. Пошто одговор може бити велики, вратите га модулом 10^9 + 7.
Напомена да digit_sum(x) означава збир цифара x.

Пример 1:

Улаз: num1 = "1", num2 = "12", min_sum = 1, max_sum = 8
Излаз: 11
Објашњење: Постоји 11 бројева чији збир цифара лежи између 1 и 8: 1,2,3,4,5,6,7,8,10,11 и 12. Дакле, враћамо 11.

Пример 2:

Улаз: num1 = "1", num2 = "5", min_sum = 1, max_sum = 5
Излаз: 5
Објашњење: Пет бројева чији збир цифара лежи између 1 и 5 су 1,2,3,4 и 5. Дакле, враћамо 5.

Ограничења:

1 <= num1 <= num2 <= 10^22
1 <= min_sum <= max_sum <= 400

Дате су две нумеричке стрингове num1 и num2 и два цела броја max_sum и min_sum. Интегер x је добар ако важи следеће:

num1 <= x <= num2
min_sum <= digit_sum(x) <= max_sum.

Вратите број добрих интегера. Пошто одговор може бити велики, вратите га модулом 10^9 + 7.
Напомена да digit_sum(x) означава збир цифара x.

Пример 1:

Улаз: num1 = "1", num2 = "12", min_sum = 1, max_sum = 8
Излаз: 11
Објашњење: Постоји 11 бројева чији збир цифара лежи између 1 и 8: 1,2,3,4,5,6,7,8,10,11 и 12. Дакле, враћамо 11.

Пример 2:

Улаз: num1 = "1", num2 = "5", min_sum = 1, max_sum = 5
Излаз: 5
Објашњење: Пет бројева чији збир цифара лежи између 1 и 5 су 1,2,3,4 и 5. Дакле, враћамо 5.

Ограничења:

1 <= num1 <= num2 <= 10^22
1 <= min_sum <= max_sum <= 400


Дат вам је низ nums индексиран од 0, дужине n.
Низ различитих разлика (distinct difference array) за nums је низ diff дужине n такав да је diff[i] једнако броју различитих елемената у суфиксу nums[i + 1, ..., n - 1], умањеном за број различитих елемената у префиксу nums[0, ..., i].
Вратите низ различитих разлика за nums.
Напомена: nums[i, ..., j] означава подниз низа nums који почиње на индексу i и завршава се на индексу j укључујући. Конкретно, ако је i > j, онда nums[i, ..., j] означава празан подниз.

Пример 1:

Улаз: nums = [1,2,3,4,5]
Излаз: [-3,-1,1,3,5]
Објашњење: За индекс i = 0, постоји 1 елемент у префиксу и 4 различита елемента у суфиксу. Дакле, diff[0] = 1 - 4 = -3.
За индекс i = 1, постоје 2 различита елемента у префиксу и 3 различита елемента у суфиксу. Дакле, diff[1] = 2 - 3 = -1.
За индекс i = 2, постоје 3 различита елемента у префиксу и 2 различита елемента у суфиксу. Дакле, diff[2] = 3 - 2 = 1.
За индекс i = 3, постоје 4 различита елемента у префиксу и 1 различит елемент у суфиксу. Дакле, diff[3] = 4 - 1 = 3.
За индекс i = 4, постоји 5 различитих елемената у префиксу и нема елемената у суфиксу. Дакле, diff[4] = 5 - 0 = 5.

Пример 2:

Улаз: nums = [3,2,3,4,2]
Излаз: [-2,-1,0,2,3]
Објашњење: За индекс i = 0, постоји 1 елемент у префиксу и 3 различита елемента у суфиксу. Дакле, diff[0] = 1 - 3 = -2.
За индекс i = 1, постоје 2 различита елемента у префиксу и 3 различита елемента у суфиксу. Дакле, diff[1] = 2 - 3 = -1.
За индекс i = 2, постоје 2 различита елемента у префиксу и 2 различита елемента у суфиксу. Дакле, diff[2] = 2 - 2 = 0.
За индекс i = 3, постоје 3 различита елемента у префиксу и 1 различит елемент у суфиксу. Дакле, diff[3] = 3 - 1 = 2.
За индекс i = 4, постоје 3 различита елемента у префиксу и нема елемената у суфиксу. Дакле, diff[4] = 3 - 0 = 3.

Ограничења:

1 <= n == nums.length <= 50
1 <= nums[i] <= 50

Дат вам је 0-индексиран низ бројева дужине n.
Различити низ разлика nums је низ diff дужине н тако да је diff[i] једнак броју различитих елемената у суфиксу nums[i + 1, ..., n - 1] одузет од броја различитих елементи у префиксу nums[0, ..., i].
Врати различити низ nums.
Имајте на уму да nums[i, ..., j] означава подниз бројева који почиње са индексом i и завршава се са индексом ј укључујући. Конкретно, ако је i > j онда nums[i, ..., j] означава празан подниз.

Пример 1:

Улаз: nums = [1,2,3,4,5]
Излаз: [-3,-1,1,3,5]
Објашњење: За индекс i = 0, постоји 1 елемент у префиксу и 4 различита елемента у суфиксу. Дакле, diff[0] = 1 - 4 = -3.
За индекс i = 1, постоје 2 различита елемента у префиксу и 3 различита елемента у суфиксу. Дакле, diff[1] = 2 - 3 = -1.
За индекс i = 2, постоје 3 различита елемента у префиксу и 2 различита елемента у суфиксу. Дакле, diff[2] = 3 - 2 = 1.
За индекс i = 3, постоје 4 различита елемента у префиксу и 1 различит елемент у суфиксу. Дакле, diff[3] = 4 - 1 = 3.
За индекс i = 4, постоји 5 различитих елемената у префиксу и нема елемената у суфиксу. Дакле, diff[4] = 5 - 0 = 5.

Пример 2:

Улаз: nums = [3,2,3,4,2]
Излаз: [-2,-1,0,2,3]
Објашњење: За индекс i = 0, постоји 1 елемент у префиксу и 3 различита елемента у суфиксу. Дакле, diff[0] = 1 - 3 = -2.
За индекс i = 1, постоје 2 различита елемента у префиксу и 3 различита елемента у суфиксу. Дакле, diff[1] = 2 - 3 = -1.
За индекс i = 2, постоје 2 различита елемента у префиксу и 2 различита елемента у суфиксу. Дакле, diff[2] = 2 - 2 = 0.
За индекс i = 3, постоје 3 различита елемента у префиксу и 1 различит елемент у суфиксу. Дакле, diff[3] = 3 - 1 = 2.
За индекс i = 4, постоје 3 различита елемента у префиксу и нема елемената у суфиксу. Дакле, diff[4] = 3 - 0 = 3.

Ограничења:

1 <= n == nums.length <= 50
1 <= nums[i] <= 50

Дат вам је низ са 0-базираном индексом nums дужине n.
Различити низ разлике nums је низ diff дужине n такав да је diff[i] једнако броју различитих елемената у суфиксу nums[i + 1, ..., n - 1] умањен за број различитих елемената у префиксу nums[i, ..., j].
Вратите низ различитих разлика низа nums.
Напомиње се да nums[i, ..., j] означава подниз nums који почиње на индексу i и завршава се на индексу j укључујући. Посебно, ако је i > j онда nums[i, ..., j] означава празан подниз.

Пример 1:

Улаз: nums = [1,2,3,4,5]
Излаз: [-3,-1,1,3,5]
Објашњење: За индекс i = 0, постоји 1 елемент у префиксу и 4 различита елемента у суфиксу. Дакле, diff[0] = 1 - 4 = -3.
За индекс i = 1, постоје 2 различита елемента у префиксу и 3 различита елемента у суфиксу. Дакле, diff[1] = 2 - 3 = -1.
За индекс i = 2, постоје 3 различита елемента у префиксу и 2 различита елемента у суфиксу. Дакле, diff[2] = 3 - 2 = 1.
За индекс i = 3, постоје 4 различита елемента у префиксу и 1 различит елемент у суфиксу. Дакле, diff[3] = 4 - 1 = 3.
За индекс i = 4, постоји 5 различитих елемената у префиксу и нема елемената у суфиксу. Дакле, diff[4] = 5 - 0 = 5.

Пример 2:

Улаз: nums = [3,2,3,4,2]
Излаз: [-2,-1,0,2,3]
Објашњење: За индекс i = 0, постоји 1 елемент у префиксу и 3 различита елемента у суфиксу. Дакле, diff[0] = 1 - 3 = -2.
За индекс i = 1, постоје 2 различита елемента у префиксу и 3 различита елемента у суфиксу. Дакле, diff[1] = 2 - 3 = -1.
За индекс i = 2, постоје 2 различита елемента у префиксу и 2 различита елемента у суфиксу. Дакле, diff[2] = 2 - 2 = 0.
За индекс i = 3, постоје 3 различита елемента у префиксу и 1 различит елемент у суфиксу. Дакле, diff[3] = 3 - 1 = 2.
За индекс i = 4, постоје 3 различита елемента у префиксу и нема елемената у суфиксу. Дакле, diff[4] = 3 - 0 = 3.

Ограничења:

1 <= n == nums.length <= 50
1 <= nums[i] <= 50


Имамо низ `nums` дужине `n` индексиран од 0. Иницијално, сви елементи су небојени (имају вредност 0).
Добијен вам је дводимензионални целобројни низ `queries` где је `queries[i] = [index_i, color_i]`.
За сваки упит, обојите индекс `index_i` бојом `color_i` у низу `nums`.
Вратите низ `answer` исте дужине као `queries` где је `answer[i]` број суседних елемената исте боје након `i`-тог упита.
Тачније, `answer[i]` је број индекса `j`, такав да је `0 <= j < n - 1` и `nums[j] == nums[j + 1]` и `nums[j] != 0` након `i`-тог упита.

Пример 1:

Улаз: `n = 4`, `queries = [[0,2],[1,2],[3,1],[1,1],[2,1]]`
Излаз: `[0,1,1,0,2]`
Објашњење: Иницијално `nums = [0,0,0,0]`, где 0 означава небојене елементе низа.
- Након 1. упита `nums = [2,0,0,0]`. Број суседних елемената исте боје је 0.
- Након 2. упита `nums = [2,2,0,0]`. Број суседних елемената исте боје је 1.
- Након 3. упита `nums = [2,2,0,1]`. Број суседних елемената исте боје је 1.
- Након 4. упита `nums = [2,1,0,1]`. Број суседних елемената исте боје је 0.
- Након 5. упита `nums = [2,1,1,1]`. Број суседних елемената исте боје је 2.

Пример 2:

Улаз: `n = 1`, `queries = [[0,100000]]`
Излаз: `[0]`
Објашњење: Иницијално `nums = [0]`, где 0 означава небојене елементе низа.
- Након 1. упита `nums = [100000]`. Број суседних елемената исте боје је 0.

Ограничења:

1 <= n <= 10^5
1 <= queries.length <= 10^5
queries[i].length == 2
0 <= index_i <= n - 1
1 <=  color_i <= 10^5

Дат вам је 0-индексирани низ nums дужине n. Иницијално, сви елементи су необојени (имају вредност 0).
Дат вам је 2D низ целих бројева queries где queries[i] = [index_i, color_i].
За сваку упит, обојићете индекс index_i са бојом color_i у низу nums.
Вратити низ answer исте дужине као и queries, где је answer[i] број суседних елемената са истом бојом након i-тог упита.

Формално, answer[i] је број индекса j, таквих да је \(0 \leq j < n - 1\) и nums[j] == nums[j + 1] и nums[j] != 0 након i-тог упита.

Пример 1:

Улаз: n = 4, queries = [[0,2],[1,2],[3,1],[1,1],[2,1]]
Излаз: [0,1,1,0,2]
Објашњење: Иницијално nums = [0,0,0,0], где 0 означава небојене елементе низа.
- Након 1. упита nums = [2,0,0,0]. Број суседних елемената исте боје је 0.
- Након 2. упита nums = [2,2,0,0]. Број суседних елемената исте боје је 1.
- Након 3. упита nums = [2,2,0,1]. Број суседних елемената исте боје је 1.
- Након 4. упита nums = [2,1,0,1]. Број суседних елемената исте боје је 0.
- Након 5. упита nums = [2,1,1,1]. Број суседних елемената исте боје је 2.

Пример 2:

Улаз: n = 1, queries = [[0,100000]]
Излаз: [0]
Објашњење: Иницијално nums = [0], где 0 означава небојене елементе низа.
- Након 1. упита nums = [100000]. Број суседних елемената исте боје је 0.

Ограничења:

1 <= n <= 10^5
1 <= queries.length <= 10^5
queries[i].length == 2
0 <= index_i <= n - 1
1 <=  color_i <= 10^5


Дат вам је низ целих бројева са индексом 0, nums, који представља снагу неких хероја. Моћ групе хероја дефинише се на следећи начин:

Нека су i_0, i_1, ... ,i_k индекси хероја у групи. Тада је моћ те групе max(nums[i_0], nums[i_1], ... ,nums[i_k])^2 * min(nums[i_0], nums[i_1], ... ,nums[i_k]).

Вратите збир моћи свих ненула група хероја који су могући. Пошто збир може бити веома велики, вратите га модуло 10^9 + 7.

Пример 1:

Улаз: nums = [2,1,4] Излаз: 141 Објашњење:
1-ва група: [2] има моћ = 2^2 * 2 = 8.
2-га група: [1] има моћ = 1^2 * 1 = 1.
3-ћа група: [4] има моћ = 4^2 * 4 = 64.
4-та група: [2,1] има моћ = 2^2 * 1 = 4.
5-та група: [2,4] има моћ = 4^2 * 2 = 32.
6-та група: [1,4] има моћ = 4^2 * 1 = 16.
7-ма група: [2,1,4] има моћ = 4^2 * 1 = 16.
Збир моћи свих група је 8 + 1 + 64 + 4 + 32 + 16 + 16 = 141.

Пример 2:

Улаз: nums = [1,1,1]
Излаз: 7
Објашњење: Укупно је могуће 7 група, и моћ сваке групе ће бити 1. Због тога је збир моћи свих група 7.

Ограничења:

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

Дат је низ целих бројева нумс који представља снагу неких хероја. Снага групе хероја је дефинисана на следећи начин:

Нека су и_0, и_1, ..., и_к индекси јунака у групи. Тада је моћ ове групе:
мак(бројеви[и_0], бројеви[и_1], ..., бројеви[и_к])^2 * мин(бројеви[и_0], бројеви[и_1], ..., бројеви[и_к]).

Врати укупну снагу свих непразних група хероја које се могу формирати. Пошто збир може бити веома велик, вратите га по модулу 10^9 + 7.

Пример 1:

Улаз: бројеви = [2,1,4]
Излаз: 141
Објашњење:
1^. група: [2] има снагу = 2^2 * 2 = 8.
2^нд група: [1] има снагу = 1^2 * 1 = 1.
3^. група: [4] има снагу = 4^2 * 4 = 64.
4^. група: [2,1] има снагу = 2^2 * 1 = 4.
5^тх група: [2,4] има снагу = 4^2 * 2 = 32.
6^. група: [1,4] има снагу = 4^2 * 1 = 16.
7^тх група: [2,1,4] има снагу = 4^2 * 1 = 16.
Збир снага свих група је 8 + 1 + 64 + 4 + 32 + 16 + 16 = 141.

Пример 2:

Улаз: бројеви = [1,1,1]
Излаз: 7
Објашњење: Укупно је могуће формирати 7 група, а јачина сваке групе ће бити 1. Дакле, збир снага свих група је 7.

Ограничења:

1 <= нумс.ленгтх <= 10^5
1 <= бројеви[и] <= 10^9

Дат вам је 0 индексиран низ бројева бројева који представља снагу неких хероја. Моћ групе хероја је дефинисана на следећи начин:

Нека су i_0, i_1, ... ,i_k индекси хероја у групи. Тада је моћ те групе max(nums[i_0], nums[i_1], ... ,nums[i_k])^2 * min(nums[i_0], nums[i_1], ... ,nums[i_k]).

Врати збир моћи свих могућих непразних група хероја. Пошто збир може бити веома велик, вратите га по модулу 10^9 + 7.

Пример 1:

Улаз: nums = [2,1,4]
Излаз: 141
Објашњење:
1^. група: [2] има снагу = 2^2 * 2 = 8.
2^нд група: [1] има снагу = 1^2 * 1 = 1.
3^. група: [4] има снагу = 4^2 * 4 = 64.
4^. група: [2,1] има снагу = 2^2 * 1 = 4.
5^тх група: [2,4] има снагу = 4^2 * 2 = 32.
6^. група: [1,4] има снагу = 4^2 * 1 = 16.
7^тх група: [2,1,4] има снагу = 4^2 * 1 = 16.
Збир снага свих група је 8 + 1 + 64 + 4 + 32 + 16 + 16 = 141.

Пример 2:

Улаз: nums  = [1,1,1]
Излаз: 7
Објашњење: Могуће је укупно 7 група, а снага сваке групе ће бити 1. Дакле, збир снага свих група је 7.

Ограничења:

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


Dobijena je permutacija `nums` sa `n` brojeva, indeksirana od 0.
Permutacija se naziva poluuređenom (semi-ordered) ako prvi broj u nizu iznosi `1`, a poslednji broj `n`. Možete izvesti sledeću operaciju koliko god puta želite dok ne napravite niz `nums` poluuređenim:

Izaberite dva susedna elementa u nizu `nums`, a zatim ih zamenite mestima.

Vratite minimalan broj operacija potrebnih da `nums` postane poluuređena permutacija.
Permutacija je niz brojeva od `1` do `n` dužine `n`, koji sadrži svaki broj tačno jednom.

Primer 1:

Ulaz: nums = [2,1,4,3]
Izlaz: 2
Objašnjenje: Možemo napraviti poluuređenu permutaciju ovim sekvencama operacija:
1 - Zamenite i = 0 i j = 1. Permutacija postaje [1,2,4,3].
2 - Zamenite i = 2 i j = 3. Permutacija postaje [1,2,3,4].
Dokazuje se da ne postoji sekvenca sa manje od dve operacije koja može napraviti `nums` poluuređenom permutacijom.
Пример 2:

Улаз: nums = [2,4,1,3]
Излаз: 3
Објашњење: Можемо направити пермутацију полусређеном користећи следећи низ операција:
1 - замените i = 1 и j = 2. Пермутација постаје [2,1,4,3].
2 - замените i = 0 и j = 1. Пермутација постаје [1,2,4,3].
3 - замените i = 2 и j = 3. Пермутација постаје [1,2,3,4].
Може се доказати да нема низа од мање од три операције који прави nums полусређеном пермутацијом.

Пример 3:

Улаз: nums = [1,3,4,2,5]
Излаз: 0
Објашњење: Пермутација је већ полусређена пермутација.

Ограничења:

2 <= nums.length == n <= 50
1 <= nums[i] <= 50
nums је пермутација.

Дат вам је 0-индексирана пермутација n целих бројева nums.
Пермутација се назива полу-упоредна ако први број је 1, а последњи број је n. Можете извршити следећу операцију колико год пута желите док не учините nums полу-упоредном пермутацијом:

Изаберите два суседна елемента у nums, а затим их размениите.

Вратите минималан број операција који је потребан да бисте направили nums полу-упоредном пермутацијом.
Пермутација је низ целих бројева од 1 до n дужине n који садржи сваки број управо једном.

Пример 1:

Улаз: nums = [2,1,4,3]
Излаз: 2
Објашњење: Можемо направити пермутацију полу-упоредном користећи следећи низ операција:
1 - замените i = 0 и j = 1. Пермутација постаје [1,2,4,3].
2 - замените i = 2 и j = 3. Пермутација постаје [1,2,3,4].
Може се доказати да нема низа од мање од две операције који прави nums полу-упоредном пермутацијом.

Пример 2:

Улаз: nums = [2,4,1,3]
Излаз: 3
Објашњење: Можемо направити пермутацију полу-упоредном користећи следећи низ операција:
1 - замените i = 1 и j = 2. Пермутација постаје [2,1,4,3].
2 - замените i = 0 и j = 1. Пермутација постаје [1,2,4,3].
3 - замените i = 2 и j = 3. Пермутација постаје [1,2,3,4].
Може се доказати да нема низа од мање од три операције који прави nums полу-упоредном пермутацијом.

Пример 3:

Улаз: nums = [1,3,4,2,5]
Излаз: 0
Објашњење: Пермутација је већ полу-упоредна пермутација.

Ограничења:

2 <= nums.length == n <= 50
1 <= nums[i] <= 50
nums је пермутација.

Датa je пермутација са индексом 0 n целих бројева nums.
Пермутација се назива полусређена ако је први број једнак 1 и последњи број једнак n. Можете извршити следећу операцију онолико пута колико желите док не направите да nums буде полусређена пермутација:

Изаберите два суседна елемента у nums, затим их замените.

Вратите минималан број операција да претворите nums у полусређену пермутацију.
Пермутација је секвенца целих бројева од 1 до n дужине n која садржи сваки број управо једном.

Пример 1:

Улаз: nums = [2,1,4,3]
Излаз: 2
Објашњење: Можемо направити пермутацију полусређеном користећи следећи низ операција:
1 - замените i = 0 и j = 1. Пермутација постаје [1,2,4,3].
2 - замените i = 2 и j = 3. Пермутација постаје [1,2,3,4].
Може се доказати да нема низа од мање од две операције који прави nums полусређеном пермутацијом.

Пример 2:

Улаз: nums = [2,4,1,3]
Излаз: 3
Објашњење: Можемо направити пермутацију полусређеном користећи следећи низ операција:
1 - замените i = 1 и j = 2. Пермутација постаје [2,1,4,3].
2 - замените i = 0 и j = 1. Пермутација постаје [1,2,4,3].
3 - замените i = 2 и j = 3. Пермутација постаје [1,2,3,4].
Може се доказати да нема низа од мање од три операције који прави nums полусређеном пермутацијом.

Пример 3:

Улаз: nums = [1,3,4,2,5]
Излаз: 0
Објашњење: Пермутација је већ полусређена пермутација.

Ограничења:

2 <= nums.length == n <= 50
1 <= nums[i] <= 50
nums је пермутација.


Дат је низ `s` са индексом од 0, који се састоји од цифара од 0 до 9.
Низ `t` се назива полупонављајућим ако постоји највише један узастопни пар истих цифара унутар `t`. На пример, 0010, 002020, 0123, 2002 и 54944 су полупонављајући, док 00101022 и 1101234883 нису.
Вратите дужину најдужег полупонављајућег подниза унутар `s`.
Подниз је континуирани низ не-празних знакова унутар низа.

Пример 1:

Улаз: `s = "52233"`
Излаз: 4
Објашњење: Најдужи полупонављајући подниз је "5223", који почиње на i = 0 и завршава се на j = 3.

Пример 2:

Улаз: `s = "5494"`
Излаз: 4
Објашњење: `s` је полупонављајући низ, тако да је одговор 4.

Пример 3:

Улаз: `s = "1111111"`
Излаз: 2
Објашњење: Најдужи полупонављајући подниз је "11", који почиње на i = 0 и завршава се на j = 1.

Ограничења:

1 <= s.length <= 50
'0' <= s[i] <= '9'

Дат вам је низ s који се састоји од цифара од 0 до 9.
Низ t се назива полуреупетативним ако постоји највише један узастопни пар истих цифара унутар низа t. На пример, 0010, 002020, 0123, 2002 и 54944 су полуреупетативни, док 00101022 и 1101234883 нису.
Вратите дужину најдужег полуреупетативног подниза унутар низа s.
Подниз је континуирани, не-празан низ карактера унутар низа.

Пример 1:

Улаз: `s = "52233"`
Излаз: 4
Објашњење: Најдужи полупонављајући подниз је "5223", који почиње на i = 0 и завршава се на j = 3.

Пример 2:

Улаз: `s = "5494"`
Излаз: 4
Објашњење: `s` је полупонављајући низ, тако да је одговор 4.

Пример 3:

Улаз: `s = "1111111"`
Излаз: 2
Објашњење: Најдужи полупонављајући подниз је "11", који почиње на i = 0 и завршава се на j = 1.

Ограничења:

1 <= s.length <= 50
'0' <= s[i] <= '9'

Добијате 0-индексирани низ с који се састоји од цифара од 0 до 9.
Стринг т се назива полу-понављајући ако постоји највише један узастопни пар истих цифара унутар т. На пример, 0010, 002020, 0123, 2002 и 54944 се полу-понављају, док 00101022, а 1101234883 нису.
Вратите дужину најдужег полу-понављајућег подниска унутар s.
Подстринг је суседна не-празна секвенца знакова унутар стринга.

Пример 1:

Улаз : s = "52233"
излаз : 4
Објашњење : Најдужи полу-понављајући подниз је "5223", који почиње на i = 0 и завршава се на ј = 3.

Пример 2:

Улаз : s = "5494"
излаз : 4
Објашњење : s је полу-рептитивни низ, тако да је одговор 4.

Пример 3:

Улаз : s = "1111111"
излаз : 2
Објашњење : Најдужи полу-понављајући подниз је "11", који почиње на i = 0 и завршава се на ј = 1.

Ограничења:

1 <= s.length <= 50
'0' <= s[i] <= '9'


Постоји n пријатеља који играју игру. Пријатељи седе у кругу и нумерисани су од 1 до n у смеру казаљке на сату. Тачније, померањем у смеру казаљке на сату од i-те особе долазите до (i+1)-те особе за 1 <= i < n, а померањем у смеру казаљке на сату од n-те особе долазите до 1-ве особе.
Правила игре су следећа:

пријатељ добија лопту.

После тога, 1-ви пријатељ предаје лопту пријатељу који је k корака удаљен од њих у смеру казаљке на сату.
После тога, пријатељ који добија лопту треба да је преда пријатељу који је 2 * k корака удаљен од њих у смеру казаљке на сату.
После тога, пријатељ који добија лопту треба да је преда пријатељу који је 3 * k корака удаљен од њих у смеру казаљке на сату, и тако даље.

Другим речима, у i-ом потезу, пријатељ који држи лопту треба да је преда пријатељу који је i * k корака удаљен од њих у смеру казаљке на сату.
Игра се завршава када неки пријатељ прими лопту по други пут.
Губитници игре су пријатељи који нису примили лопту током целе игре.
Дат је број пријатеља, n, и цео број k, враћа низ одговор, који садржи губитнике игре у растућем редоследу.

Пример 1:

Улаз: n = 5, k = 2
Излаз: [4,5]
Објашњење: Игра иде овако:
1) Почните код 1-вог пријатеља и предајте лопту пријатељу који је 2 корака удаљен од њих - 3-ћи пријатељ.
2) 3-ћи пријатељ предаје лопту пријатељу који је 4 корака удаљен од њих - 2-ги пријатељ.
3) 2-ги пријатељ предаје лопту пријатељу који је 6 корака удаљен од њих - 3-ћи пријатељ.
4) Игра се завршава јер 3-ћи пријатељ прима лопту по други пут.

Пример 2:

Улаз: n = 4, k = 4
Излаз: [2,3,4]
Објашњење: Игра иде овако:
1) Почните код 1-вог пријатеља и предајте лопту пријатељу који је 4 корака удаљен од њих - 1-ви пријатељ.
2) Игра се завршава јер 1-ви пријатељ прима лопту по други пут.

Ограничења:

1 <= k <= n <= 50

Постоје н пријатељи који играју игру. Пријатељи седе у кругу и нумеришу се од 1 до н у наређењу у казаљке на сату. Формалније, померање у смеру казаљке на сату од и ^ пријатеља вас доводи до (и + 1) ^ пријатеља за 1 <= и <н и кретање у смеру казаљке на сату од Н ^ пријатеља који вас доводи до 1 ^ пријатеља.
Правила игре су следеће:
1. пријатељ. Пријатељ прима лопту.

Након тога, 1. пријатељ прослеђује лопту пријатељу који је к корака од њега у смеру казаљке на сату.
Након тога, пријатељ који прими лопту треба да га пренесе пријатељу који је 2 * к неколико корака од њих у правцу у смеру казаљке на сату.
Након тога, пријатељ који прими лопту треба да га пренесе пријатељу који је 3 * к неколико корака од њих у правцу у смеру казаљке на сату и тако даље.

Другим речима, на И ^ тху, пријатељ који држи лопту треба да га пренесе пријатељу који је ја * к корака од њих у правцу у смеру казаљке на сату.
Игра је завршена када неки пријатељ прими лопту по други пут.
Губитници игре су пријатељи који нису примили лопту у целој игри.
С обзиром на број пријатеља, Н и цели број К, вратите одговор на низ који садржи губитнике игре у узлазном редоследу.

Пример 1:

ИНПУТ: n = 5, k = 2
Излаз: [4,5]
Објашњење: Игра иде на следећи начин:
1) Почните у пријатељу 1. пријатељ. И прођите лопту пријатељу који је 2 корака од њих - 3 ^ РД пријатеља.
2) 3 ^ РД пријатеља пролази са лоптом пријатељу који је 4 корака од њих - 2 ^ и пријатеља.
3) 2 ^ НД Пријатељ преноси лопту пријатељу који је удаљен 6 корака од њих - 3 ^ РД пријатеља.
4) Игра се завршава као 3 ^ РД пријатеља по други пут прими лопту.

Пример 2:

Улаз: n = 4, k = 4
Излаз: [2,3,4]
Објашњење: Игра иде на следећи начин:
1) Почните на 1. пријатељ пријатеља и прођите лопту пријатељу који је 4 корака од њих - 1. пријатељ.
2) Игра се завршава као 1. пријатељ Фриенд по други пут прими лопту.

ОГРАНИЧЕЊА:

1 <= k <= n <= 50

Постоји н пријатеља који играју игру. Пријатељи седе у кругу и нумерисани су од 1 до n у смеру казаљке на сату. Још формалније, кретање у смеру казаљке на сату од и^-тог пријатеља доводи вас до (и+1)^-огг пријатеља за 1 <= i < n, а кретање у смеру казаљке на сату од н^-тог пријатеља доводи вас до 1-ог пријатеља.
Правила игре су следећа:
1-ви пријатељ прима лопту.

Након тога, 1-ви пријатељ га предаје пријатељу који је к корака удаљен од њих у смеру казаљке на сату.
Након тога, пријатељ који прими лопту треба да је дода пријатељу који је од њих удаљен 2 * к корака у смеру казаљке на сату.
Након тога, пријатељ који прими лопту треба да је дода пријатељу који је од њих удаљен 3 * к корака у смеру казаљке на сату, и тако даље и тако даље.

Другим речима, у i-ом окрету, пријатељ који држи лопту треба да је дода пријатељу који је удаљен i * k корака од њих у смеру казаљке на сату.
Игра је завршена када неки пријатељ прими лопту по други пут.
Губитници игре су пријатељи који нису примили лопту у целој утакмици.
С обзиром на број пријатеља, n и цео број k, врати одговор низа који садржи губитнике игре у растућем редоследу.

Пример 1:

Улаз: n = 5, k = 2
Излаз: [4,5]
Објашњење: Игра иде овако:
1) Почните код 1-вог пријатеља и предајте лопту пријатељу који је 2 корака удаљен од њих - 3-ћи пријатељ.
2) 3-ћи пријатељ предаје лопту пријатељу који је 4 корака удаљен од њих - 2-ги пријатељ.
3) 2-ги пријатељ предаје лопту пријатељу који је 6 корака удаљен од њих - 3-ћи пријатељ.
4) Игра се завршава јер 3-ћи пријатељ прима лопту по други пут.

Пример 2:

Улаз: n = 4, k = 4
Излаз: [2,3,4]
Објашњење: Игра иде овако:
1) Почните код 1-вог пријатеља и предајте лопту пријатељу који је 4 корака удаљен од њих - 1-ви пријатељ.
2) Игра се завршава када 1^. пријатељ прими лопту по други пут.

Ограничења:

1 <= k <= n <= 50


Низ индексиран са 0 изведен дужином н се изводи израчунавањем XOR (⊕) суседних вредности у оригиналном бинарном низу дужине n.
Конкретно, за сваки индекс i у опсегу [0, n - 1]:

Ако је i = n - 1, онда derived[i] = original[i] ⊕ original[0].
Иначе, derived[i] = original[i] ⊕ original[i + 1].

С обзиром на изведен низ, ваш задатак је да утврдите да ли постоји важећи оригинални бинарни низ који је могао формирати изведено.
Врати тачно ако такав низ постоји или нетачно у супротном.

Бинарни низ је низ који садржи само 0 и 1

Пример 1:

Улаз: derived = [1,1,0]
Излаз: true
Објашњење: Важећи оригинални низ који даје изведено је [0,1,0].
derived[0] = original[0] ⊕ original[1] = 0 ⊕ 1 = 1
derived[1] = original[1] ⊕ original[2] = 1 ⊕ 0 = 1
derived[2] = original[2] ⊕ original[0] = 0 ⊕ 0 = 0

Пример 2:

Улаз: derived = [1,1]
Излаз: true
Објашњење: Важећи оригинални низ који даје изведено је [0,1].
derived[0] = original[0] ⊕ original[1] = 1
derived[1] = original[1] ⊕ original[0] = 1

Пример 3:

Улаз: derived = [1,0]
Излаз: false
Објашњење: Не постоји важећи оригинални низ који даје изведено.

Ограничења:

n == derived.length
1 <= n <= 10^5
Вредности у derived су или 0 или 1

Низ индексиран са 0 derived дужином н се изводи израчунавањем КСОР-а (⊕) суседних вредности у оригиналном бинарном низу дужине н.
Конкретно, за сваки индекс и у опсегу [0, н - 1]:

- Ако је i = n - 1, онда је derived[i] = original[i] ⊕ original[0].
- У супротном, derived[i] = original[i] ⊕ original[i + 1].

Дат вам је низ derived, ваш задатак је да одредите да ли постоји валидан бинарни низ original који је могао формирати derived.

Вратите true ако такав низ постоји или false у супротном.

Бинарни низ је низ који садржи само 0 и 1.

Пример 1:

Улаз: derived = [1,1,0]
Излаз: true
Објашњење: Важећи оригинални низ који даје derived је [0,1,0].
derived[0] = original[0] ⊕ original[1] = 0 ⊕ 1 = 1
derived[1] = original[1] ⊕ original[2] = 1 ⊕ 0 = 1
derived[2] = original[2] ⊕ original[0] = 0 ⊕ 0 = 0

Пример 2:

Улаз: derived = [1,1]
Излаз: true
Објашњење: Важећи оригинални низ који даје derived је [0,1].
derived[0] = original[0] ⊕ original[1] = 1
derived[1] = original[1] ⊕ original[0] = 1

Пример 3:

Улаз: derived = [1,0]
Излаз: false
Објашњење: Не постоји важећи оригинални низ који даје derived.

Ограничења:

n == derived.length
1 <= n <= 10^5
Вредности у derived су или 0 или 1

Низ индексиран 0 изведен са дужином н је изведен израчунавањем битног XOR (⊕) суседних вредности у бинарном низу оригинала дужине н.
Конкретно , за сваки индекс и у опсегу [0, н - 1]:

Ако је i = n - 1, then derived[i] = original[i] ⊕ original[0].
Иначе , derived[i] = original[i] ⊕ original[i + 1].

С обзиром на изведени низ, ваш задатак је да утврдите да ли постоји валидан оригинални бинарни низ који је могао да се формира.
Врати тачно ако такав низ постоји или лажан у супротном.

Бинарни низ је низ који садржи само 0 и 1

Пример 1:

Улаз : derived = [1,1,0]
Излаз : true
Објашњење : Важећи оригинални низ који даје изведен је [0,1,0].
derived[0] = original[0] ⊕ original[1] = 0 ⊕ 1 = 1
derived[1] = original[1] ⊕ original[2] = 1 ⊕ 0 = 1
derived[2] = original[2] ⊕ original[0] = 0 ⊕ 0 = 0

Пример 2:

Улаз : derived = [1,1]
Излаз : true
Објашњење : Важећи оригинални низ који даје изведен је [0,1].
derived[0] = original[0] ⊕ original[1] = 1
derived[1] = original[1] ⊕ original[0] = 1

Пример 3:

Улаз : derived = [1,0]
Излаз : false
Објашњење : Не постоји важећи оригинални низ који даје изведено.

Ограничења:

n == derived.length
1 <= n <= 10^5
Вредности у изведеном су или 0 или 1


Дата вам је стринг s који се састоји само од великих енглеских слова. Можете применити неке операције на овај стринг где, у једној операцији, можете уклонити било које појављивање неког од подстрингова "AB" или "CD" из s. Вратите минималну могућу дужину резултујућег стринга који можете добити. Имајте на уму да се стринг спаја након уклањања подстринга и може произвести нове подстрингове "AB" или "CD".

Пример 1:

Унос: s = "ABFCACDB"
Излаз: 2
Објашњење: Можемо урадити следеће операције:
- Уклонити подстринг "ABFCACDB", тако да s = "FCACDB".
- Уклонити подстринг "FCACDB", тако да s = "FCAB".
- Уклонити подстринг "FCAB", тако да s = "FC".
Тако је резултујућа дужина стринга 2. Може се показати да је то минимална дужина коју можемо добити.

Пример 2:

Унос: s = "ACBBD"
Излаз: 5
Објашњење: Не можемо урадити никакве операције на стрингу, тако да дужина остаје иста.

Ограничења:

1 <= s.length <= 100
s се састоји само од великих енглеских слова.

Дат вам је низ s који се састоји само од великих слова енглеског алфабета.
Можете применити неке операције на овај низ, где у једној операцији можете уклонити било које појављивање подниза "AB" или "CD" из s.
Вратите минималну могућу дужину резултујућег низа који можете добити.
Напомена: Низ се конкатенује након уклањања подниза и може произвести нове поднизе "AB" или "CD".

Пример 1:

Унос: s = "ABFCACDB"
Излаз: 2
Објашњење: Можемо урадити следеће операције:
- Уклонити подстринг "ABFCACDB", тако да s = "FCACDB".
- Уклонити подстринг "FCACDB", тако да s = "FCAB".
- Уклонити подстринг "FCAB", тако да s = "FC".
Тако је резултујућа дужина стринга 2.
Може се показати да је то минимална дужина коју можемо добити.
Пример 2:

Унос: s = "ACBBD"
Излаз: 5
Објашњење: Не можемо урадити никакве операције на стрингу, тако да дужина остаје иста.

Ограничења:

1 <= s.length <= 100
s се састоји само од великих енглеских слова.


Дат је позитиван цео број n, вратите број казне за n.
Број казне за n је дефинисан као збир квадрата свих целих бројева i такав да:

1 <= i <= n
Децимална репрезентација i * i може бити подељена у континуалне поднизове тако да збир целих вредности ових поднизова буде једнак i.

Пример 1:

Улаз: n = 10
Излаз: 182
Објашњење: Постоје тачно 3 цела броја i која задовољавају услове у задатку:
- 1 јер 1 * 1 = 1
- 9 јер 9 * 9 = 81 и 81 може бити подељено у 8 + 1.
- 10 јер 10 * 10 = 100 и 100 може бити подељено у 10 + 0.
Дакле, број казне за 10 је 1 + 81 + 100 = 182

Пример 2:

Улаз: n = 37
Излаз: 1478
Објашњење: Постоје тачно 4 цела броја i који задовољавају услове у задатку:
- 1 јер 1 * 1 = 1.
- 9 јер 9 * 9 = 81 и 81 може бити подељено у 8 + 1.
- 10 јер 10 * 10 = 100 и 100 може бити подељено у 10 + 0.
- 36 јер 36 * 36 = 1296 и 1296 може бити подељено у 1 + 29 + 6.
Дакле, број казне за 37 је 1 + 81 + 100 + 1296 = 1478

Ограничења:

1 <= n <= 1000

Дат је позитиван цео број n. Вратите казнени број за n.
Казнени број за n дефинисан је као збир квадрата свих целих бројева i таквих да:

1 <= i <= n
Децимална репрезентација i * i може се поделити на континуиране подниза тако да је збир целобројних вредности тих поднизова једнак i.

Пример 1:

Улаз: n = 10
Излаз: 182
Објашњење: Постоје тачно 3 цела броја i која задовољавају услове у задатку:
- 1 јер 1 * 1 = 1
- 9 јер 9 * 9 = 81 и 81 може бити подељено у 8 + 1.
- 10 јер 10 * 10 = 100 и 100 може бити подељено у 10 + 0.
Дакле, број казне за 10 је 1 + 81 + 100 = 182

Пример 2:

Улаз: n = 37
Излаз: 1478
Објашњење: Постоје тачно 4 цела броја i који задовољавају услове у задатку:
- 1 јер 1 * 1 = 1.
- 9 јер 9 * 9 = 81 и 81 може бити подељено у 8 + 1.
- 10 јер 10 * 10 = 100 и 100 може бити подељено у 10 + 0.
- 36 јер 36 * 36 = 1296 и 1296 може бити подељено у 1 + 29 + 6.
Дакле, број казне за 37 је 1 + 81 + 100 + 1296 = 1478

Ограничења:

1 <= n <= 1000

Дат вам је позитиван целобројни број n, вратите број казне за n.
Број казне за n је дефинисан као збир квадрата свих целих бројева i који задовољавају следеће услове:

1 <= i <= n
Децимална репрезентација i * i може бити подељена на континуиране поднизе тако да збир целобројних вредности ових поднизова буде једнак i.

Пример 1:

Улаз: n = 10
Излаз: 182
Објашњење: Постоје тачно 3 цела броја i која задовољавају услове у задатку:
- 1 јер 1 * 1 = 1
- 9 јер 9 * 9 = 81 и 81 може бити подељено у 8 + 1.
- 10 јер 10 * 10 = 100 и 100 може бити подељено у 10 + 0.
Дакле, број казне за 10 је 1 + 81 + 100 = 182

Пример 2:

Улаз: n = 37
Излаз: 1478
Објашњење: Постоје тачно 4 цела броја i који задовољавају услове у задатку:
- 1 јер 1 * 1 = 1.
- 9 јер 9 * 9 = 81 и 81 може бити подељено у 8 + 1.
- 10 јер 10 * 10 = 100 и 100 може бити подељено у 10 + 0.
- 36 јер 36 * 36 = 1296 и 1296 може бити подељено у 1 + 29 + 6.
Дакле, број казне за 37 је 1 + 81 + 100 + 1296 = 1478

Ограничења:

1 <= n <= 1000


Дати су вам два нумерисана целобројна низа, cost и time, величине n који представљају трошкове и време потребно за фарбање n различитих зидова. Доступна су два сликара:

Плаћени сликар који фарба i-ти зид за time[i] јединица времена и наплаћује cost[i] јединица новца.
Бесплатни сликар који фарба било који зид за 1 јединицу времена без икаквих трошкова. Али бесплатни сликар може да се користи само ако је плаћени сликар већ заузет.

Вратите минималан износ новца потребан за фарбање n зидова.

Пример 1:

Улаз: cost = [1,2,3,2], time = [1,2,3,2]
Излаз: 3
Објашњење: Зидове на индексима 0 и 1 ће фарбати плаћени сликар, и то ће трајати 3 јединице времена; у међувремену, бесплатни сликар ће фарбати зидове на индексима 2 и 3, без трошкова у 2 јединице времена. Тако је укупни трошак 1 + 2 = 3.

Пример 2:

Улаз: cost = [2,3,4,2], time = [1,1,1,1]
Излаз: 4
Објашњење: Зидове на индексима 0 и 3 ће фарбати плаћени сликар, и то ће трајати 2 јединице времена; у међувремену, бесплатни сликар ће фарбати зидове на индексима 1 и 2, без трошкова у 2 јединице времена. Тако је укупни трошак 2 + 2 = 4.

Ограничења:

1 <= cost.length <= 500
cost.length == time.length
1 <= cost[i] <= 10^6
1 <= time[i] <= 500

Дата су вам два низа целих бројева са 0-индексацијом, cost и time, дужине n који представљају трошкове и време потребно за фарбање n различитих зидова. Доступна су два сликара:

Плаћени сликар који фарба i-ти зид за time[i] јединица времена и наплаћује cost[i] јединица новца.
Бесплатни сликар који фарба било који зид за 1 јединицу времена без икаквих трошкова. Али бесплатни сликар може да се користи само ако је плаћени сликар већ заузет.

Вратите минималан износ новца потребан за фарбање n зидова.

Пример 1:

Улаз: cost = [1,2,3,2], time = [1,2,3,2]
Излаз: 3
Објашњење: Зидове на индексима 0 и 1 ће бити офарбани од стране плаћеног молера, и то ће трајати 3 јединице времена; у међувремену, бесплатни сликар ће фарбати зидове на индексима 2 и 3, без трошкова у 2 јединице времена. Тако је укупни трошак 1 + 2 = 3.

Пример 2:

Улаз: cost = [2,3,4,2], time = [1,1,1,1]
Излаз: 4
Објашњење: Зидове на индексима 0 и 3 ће бити офарбани од стране плаћеног молера, и то ће трајати 2 јединице времена; у међувремену, бесплатни сликар ће фарбати зидове на индексима 1 и 2, без трошкова у 2 јединице времена. Тако је укупни трошак 2 + 2 = 4.

Ограничења:

1 <= cost.length <= 500
cost.length == time.length
1 <= cost[i] <= 10^6
1 <= time[i] <= 500


Дат вам је 0-индиксни низ целих бројева nums величине n који представља трошкове прикупљања различитих чоколада. Трошак прикупљања чоколаде на индексу i је nums[i]. Свака чоколада је различитог типа, а првобитно је чоколада на индексу i типа i^т.
У једној операцији, можете извршити следеће са трошком x:

Симултано промените чоколаду типа i^т у чоколаду типа ((i + 1) mod n)^т за све чоколаде.

Вратите минимални трошак за прикупљање чоколада свих типова, с обзиром на то да можете извршити онолико операција колико желите.

Пример 1:

Улаз: nums = [20,1,15], x = 5
Излаз: 13
Објашњење: Почетно, врсте чоколада су [0,1,2]. Купићемо 1-ву врсту чоколаде по цени од 1.
Сада ћемо извршити операцију по цени од 5, и врсте чоколада ће постати [1,2,0]. Купићемо 2-гу врсту чоколаде по цени од 1.
Сада ћемо поново извршити операцију по цени од 5, и врсте чоколада ће постати [2,0,1]. Купићемо 0-ту врсту чоколаде по цени од 1.
Дакле, укупан трошак ће бити (1 + 5 + 1 + 5 + 1) = 13. Можемо доказати да је ово оптимално.

Пример 2:

Улаз: nums = [1,2,3], x = 4
Излаз: 6
Објашњење: Прикупићемо све три врсте чоколада по њиховој сопственој цени без извођења било каквих операција. Дакле, укупан трошак је 1 + 2 + 3 = 6.

Ограничења:

1 <= nums.length <= 1000
1 <= nums[i] <= 10^9
1 <= x <= 10^9

Добили сте 0-индексиран низ целих бројева 0-индексиран низ целих бројева величине Н који представља трошкови прикупљања различитих врста чоколада. Трошак прикупљања чоколаде на индексу i је nums[i]. Свака чоколада је другачије врсте, и у почетку чоколада на индексу i је i-ти тип.
У једној операцији можете учинити следеће са насталих трошкова Кс:

Истовремено промените тип чоколаде i у ((i + 1) % n)-ти тип за све чоколаде.

Вратите минимални трошак за прикупљање чоколаде свих врста, с обзиром на то да бисте могли да обављате онолико операција колико желите.

Пример 1:

Улаз: nums = [20,1,15], x = 5
Излаз: 13
Објашњење: У почетку су типови чоколаде [0,1,2]. Купит ћемо 1 ^ СТ тип чоколаде по цени од 1.
Сада ћемо извршити операцију по цени од 5, а врсте чоколаде постаће [1,2,0]. Купит ћемо 2 ^ ^ ^ тип чоколаде по цени од 1.
Сада ћемо поново извршити операцију по цени од 5, а врсте чоколаде постаће [2,0,1]. Купит ћемо 0 ^ тип чоколаде по цени од 1.
Стога ће укупни трошкови постати (1 + 5 + 1 + 5 + 1) = 13. Можемо доказати да је то оптимално.

Пример 2:

Улаз: nums = [1,2,3], x = 4
Излаз: 6
Објашњење: Прикупићемо све три врсте чоколаде по сопственој цени без обављања било каквих операција. Стога је укупни трошак 1 + 2 + 3 = 6.

Ограничења:

1 <= nums.length <= 1000
1 <= nums[i] <= 10^9
1 <= x <= 10^9

Data vam je celobrojna niza nums veličine n koja predstavlja trošak prikupljanja različitih čokolada. Trošak prikupljanja čokolade na indeksu i je nums[i]. Svaka čokolada je različitog tipa, a inicijalno čokolada na indeksu i je i-ti tip.
U jednom operaciji, možete da uradite sledeće uz trošak x:

Istovremeno promenite čokoladu i-tog tipa u ((i + 1) mod n)-ti tip za sve čokolade.

Vratite minimalni trošak da biste sakupili čokolade svih tipova, s obzirom da možete izvršiti onoliko operacija koliko želite.

Primer 1:

Ulaz: nums = [20,1,15], x = 5
Izlaz: 13
Objašnjenje: Početno, tipovi čokolada su [0,1,2]. Kupićemo 1. tip čokolade po ceni od 1.
Zatim ćemo izvršiti operaciju po trošku od 5, a tipovi čokolada će postati [1,2,0]. Kupićemo 2. tip čokolade po ceni od 1.
Nakon toga, ponovo ćemo izvršiti operaciju po trošku od 5, a tipovi čokolada će postati [2,0,1]. Kupićemo 0. tip čokolade po ceni od 1.
Tako će ukupni trošak biti (1 + 5 + 1 + 5 + 1) = 13. Možemo dokazati da je ovo optimalno rešenje.

Primer 2:

Ulaz: nums = [1,2,3], x = 4
Izlaz: 6
Objašnjenje: Sakupićemo sve tri vrste čokolada po njihovoj ceni bez izvršavanja bilo kakvih operacija. Stoga, ukupni trošak je 1 + 2 + 3 = 6.

Ograničenja:

1 <= nums.length <= 1000
1 <= nums[i] <= 10^9
1 <= x <= 10^9


Дати су вам два цела броја, n и k.
Низ различитих позитивних целих бројева се зове k-избегавајући низ ако не постоји никакав пар различитих елемената који дају суму k.
Вратите минималну могућу суму k-избегавајућег низа дужине n.

Пример 1:

Улаз: n = 5, k = 4
Излаз: 18
Објашњење: Размотрите k-избегавајући низ [1,2,4,5,6], који има суму 18.
Може се доказати да не постоји k-избегавајући низ са сумом мањом од 18.

Пример 2:

Улаз: n = 2, k = 6
Излаз: 3
Објашњење: Можемо конструисати низ [1,2], који има збир 3.
Може се доказати да не постоји k-избегавајући низ са сумом мањом од 3.

Ограничења:

1 <= n, k <= 50

Дати су вам два цела броја, n и k.
Низ од различитих позитивних целих бројева назива се низ који избегава k ако не постоји ниједан пар различитих елемената чији је збир k.
Вратите минималан могући збир низа који избегава k дужине n.

Пример 1:

Улаз: n = 5, k = 4
Излаз: 18
Објашњење: Размотримо низ који избегава k [1,2,4,5,6], који има збир 18.
Може се доказати да не постоји низ који избегава k са збиром мањим од 18.

Пример 2:

Улаз: n = 2, k = 6
Излаз: 3
Објашњење: Можемо конструисати низ [1,2], који има збир 3.
Може се доказати да не постоји низ који избегава k са збиром мањим од 3.

Ограничења:

1 <= n, k <= 50

Дата су вам два цела броја, n и k.
Низ различитих позитивних целих бројева назива се низ који избегава к ако не постоји ниједан пар различитих елемената који су збир k.
Врати минимални могући збир к-избегавајућег низа дужине n.

Пример 1:

Улаз: n = 5, k = 4
Излаз: 18
Објашњење: Размотрите к-избегавајући низ [1,2,4,5,6], који има збир од 18.
Може се доказати да не постоји к-избегавајући низ са збиром мањим од 18.

Пример 2:

Улаз: n = 2, k = 6
Излаз: 3
Објашњење: Можемо да конструишемо низ [1,2], који има збир од 3.
Може се доказати да не постоји к-избегавајући низ са збиром мањим од 3.

Ограничења:

1 <= n, k <= 50