Počet bodov:
Popis:  12b
Program:  8b

Na diaľnici sa prevrátili tri kamióny s číslami a všetky čísla sa rozsypali. Keď sa kamióny podarilo postaviť na kolesá, tak vodiči začali nakladať čísla naspäť. Popri tom ale zabudli ako boli rozdelené do kamiónov. Jediné čo vedia je, že súčin čísiel v prvom kamióne je záporný, v druhom kladný a v treťom nulový. Taktiež vedia, že ani jeden kamión nebol prázdny. Pomôžte im nájsť správne rozdelenie čísiel.

Úloha

Na vstupe dostanete \(n\) čísiel. Vašou úlohou je rozdeliť všetky čísla do troch neprázdnych skupín tak, aby sučin čísiel v prvej skupine bol záporný, v druhej kladný a v tretej nulový.

Čísla na vstupe sa môžu opakovať, nie sú zaručene rôzne. Zachovajte počet, aby bola každá hodnota na výstupe dokopy presne toľkokrát, ako na vstupe.

Je zaručené, že takéto rozdelenie je možné.

Formát vstupu

Na prvom riadku vstupu je číslo \(n\) (\(3 \leq n \leq 10^5\)).

Na nasledujúcom riadku je \(n\) medzerou oddelených celých čísiel \(a_i\).

V jednotlivých sadách platia nasledujúce obmedzenia:

Sada 1 2 3 4
\(3 \leq n \leq\) \(10\) \(100\) \(1\,000\) \(10^5\)
\(\max |a_i| \leq\) \(10\) \(100\) \(1\,000\) \(10^5\)

Formát výstupu

Vypíšte tri riadky. Prvý riadok obsahuje čísla, ktorých súčin je záporný, druhý riadok čísla, ktorých súčin je kladný. Na poslednom riadku sú čísla s nulovým súčinom. Každý riadok má nasledujúci formát: Prvé číslo určuje, koľko čísiel je v danej skupine. Následujú čísla, ktoré sú v danej skupine. Medzi číslami je vždy práve jedna medzera. Za posledným číslom medzera nie je. Čísla v jednotlivých skupinách môžu byť v ľubovoľnom poradí.

Príklady

Input:

3
1 0 -1

Output:

1 -1
1 1
1 0

Input:

4
-1 0 1 2

Output:

1 -1
1 2
2 0 1

Ďalšia správna odpoveď je aj ak je v druhej skupine iba číslo \(1\) a v tretej skupine čísla \(2\) a \(0\).

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.