Počet bodov:
Popis:  15b
Program:  15b

Ak nevieš programovať, nezúfaj! Môžeš sa to naučiť a ešte za to získať body, ktoré sa ti budú počítať namiesto tejto úlohy.

Stačí, že pôjdeš na stránku Programátorskej Liahne (liahen.ksp.sk). Keď budeš riešiť sadu loops_cpp, bodmi, ktoré získaš, si môžeš nahradiť riešenie tejto úlohy. Stačí ak na spodku tejto stránky odovzdáš pdf-ko s prezývkou, ktorú používaš na Liahni.

Ak máte akékoľvek otázky ohľadom tejto úlohy, napíšte Martinovi na [email protected]

Kde bolo tam bolo, išli si Maťko s Kubkom hádzať frisbee. Keďže už bol večer, ich starostlivá mamička im nedovolila ísť ďalej ako pred ich panelák. Pri hádzaní skúšali chalani rôzne triky a blbosti. Zrazu sa Maťkovi šmykla ruka a zhrozene pozeral, ako frisbee letí a pristáva na balkóne jedného z ich susedov.

Našťastie ešte nie je nič stratené. Ich dedo Jozef má totiž veľkú zbierku skladacích rebríkov, od úplne maličkých až po rebríky vyššie ako hora. Ale nie sú to len také hocijaké rebríky. Každý rebrík má špeciálnu prípojku, pomocou ktorej sa dokáže spojiť s ľubovoľným iným rebríkom. Dedo Jozef je taktiež veľmi poriadkumilovný, takže svoje rebríky má usporiadané podľa veľkosti.

Maťko a Kubko sa teda rozhodli, že sa spýtajú deda, či by im pár rebríkov nepožičal. Dedo Jozef súhlasil, ale dovolil im spojiť najviac dva rebríky. Ak by ich totiž spojili viac, spojené rebríky by mohli byť veľmi labilné. Výsledný rebrík nesmie byť primalý, lebo na frisbee nedosiahnu, ale ani príliš vysoký, pretože im bude zavadzať a k frisbee sa nedostanú. Mal by byť tak akurát, presne po ten nešťastný balkón.

Dedo Jozef požical Kubkovi a Maťkovi svoje rebríky, ale tí teraz potrebujú zistiť, či sa s nimi dostanú na balkón alebo nie.

Úloha

Vašou úlohou je napísať program, ktorý podľa dĺžok rebríkov a výšky balkóna zistí, či existuje jeden rebrík s výškou balkóna alebo či sa dá takýto rebrík zložiť z dvoch iných. Veľkosti rebríkov nemusia byť unikátne, čo znamená, že na vstupe sa môžu vyskytnúť dva rebríky rovnakej dĺžky.

Formát vstupu

Na prvom riadku sa nachádzajú dve medzerou oddelené čísla \(k\) a \(n\) (\(1 \leq k \leq 10^9\), \(1 \leq n \leq 300\,000\)), prvé z nich označuje výšku balkóna, na ktorý spadlo frisbee, a druhé počet dedových rebríkov.

Na nasledujúcom riadku je \(n\) čísel, ktoré udávajú výšky rebríkov. Tieto čísla sú zoradené od najmenšieho po najväčšie a ich veľkosti sú medzi \(1\) a \(q\) (\(1 \leq q \leq 10^9\)).

Formát výstupu

Vypíšte na jediný riadok výstupu ano, ak sa z najviac dvoch rebríkov dá posklať rebrík s výškou balkóna, inak nie.

Hodnotenie

Pripravili sme 3 sady vstupov. Platia pre ne nasledové horné obmedzenia pre hodnoty \(n\), \(k\) a \(q\).

Číslo sady 1 2 3
maximálne \(n\) \(1000\) \(300\,000\) \(300\,000\)
maximálne \(k\) a \(q\) \(1000\) \(1\,000\,000\) \(10^9\)

Príklady

Input:

6 5
1 2 3 3 4

Output:

ano

Výšku \(6\) vedia Maťko s Kubkom dosiahnuť buď pomocou dvoch rebríkov dĺžky \(3\) alebo rebríkov \(2\) a \(4\).

Input:

6 2
2 3

Output:

nie

Výška \(6\) by sa dala dosiahnuť napríklad dvoma rebríkmi dĺžky \(3\), ale k dispozícií máme iba jeden. Preto je odpoveď nie.

Input:

8 3
1 8 9

Output:

ano

Rebrík výšky \(8\) sa nachádza priamo medzi rebríkmi zo vstupu, takže odpoveď je ano.

Odovzdávanie

Na odovzdávanie sa musíš prihlásiť

Otázky a diskusia

Po skončení kola budete mať príležitosť na diskutovanie o riešeniach v diskusii pod vzorovým riešením.