Zadanie

Dobrá predpoveď

Počet bodov: 35, časový limit: 300ms

Buj sa rozhodol, že si vyskúša predpovedať počasie. Každý z predchádzajúcich \(n\) dní spravil \(m\) rôznych experimentov alebo pozorovaní, pričom výsledok každého z nich sa dá zosumarizovať ako áno/nie. Ako príklady uvedieme: či vonku svietilo slnko, či bolo oblačno, či bolo vidno mesiac, či boli banány v záhrade zelené, …

Každý z týchto dní si takisto zaznačil, či pršalo. Teraz by chcel vymyslieť logickú formulu, ktorá mu každý deň bude vedieť predpovedať, či bude pršať alebo nie. (Predstavte si niečo takéto: “Pršať bude práve vtedy, keď je oblačno a zároveň nesvieti slnko.”)

Táto formula musí byť samozrejme konzistentná s dátami, ktoré nazbieral. To znamená, že ak ju použije na predpoveď v každom z \(n\) pozorovaných dní, dá nám správnu odpoveď.

Nájdite jednu takú formulu, ak existuje.

Vstup a výstup

Na prvom riadku vstupu sú medzerou oddelené dve kladné celé čísla \(n\) a \(m\): počet dní a počet experimentov. Platí \(n \cdot m \leq 5\,000\). Nasleduje \(n\) riadkov, každý popisuje výsledky experimentov v príslušnom dni a tiež či v ten deň pršalo. Formát \(i\)-teho riadku je nasledovný: \[ k_{i, 1} k_{i, 2} \ldots k_{i, m} = p_i, \] pričom \(k_{i, j}\) je \(0\) (výsledok experimentu \(j\) je “nie”) alebo \(1\) (“áno”), a \(p_i\) je \(0\) (v daný deň nepršalo) alebo \(1\) (pršalo).

Ak neexistuje formula konzistentná s týmito pozorovaniami, vypíšte impossible. V opačnom prípade na výstup vypíšte ľubovoľnú jednu takú boolovskú formulu. Musí mať presne nasledovnú syntax:

Príklad

Input:

5 3
1 0 0 = 0
0 1 1 = 0
0 1 0 = 1
0 0 1 = 1
0 0 0 = 1

Output:

!((x1) || (x2 && x3))

Input:

3 3
1 0 0 = 1
0 1 0 = 1
0 0 1 = 1

Output:

(x1 || x3 || !!x2)

Input:

2 1
0 = 0
0 = 1

Output:

impossible
Pre odovzdávanie sa musíš prihlásiť.