Plictisit de filantropie și produs cipuri, William Poartă și-a găsit o nouă pasiune: anchetele epidemiologice. Astfel, el s-a gândit să cerceteze răspândirea unui virus din trecut asupra omenirii, formată din N
persoane. William știe pentru fiecare om starea sa finală (infectat sau neinfectat), însă nu știe care dintre oameni au fost infectați inițial, și care au fost infectați de la alte persoane. Pe langă aceasta, el a aflat de la prietenul său Marcel Zahăr și o serie de întâlniri (în ordine cronologică) ce au avut loc între câte două persoane prin care virusul s-a răspândit, în următorul fel: dacă vreunul dintre cei doi vine la întâlnire infectat, atunci acesta îl va infecta și pe celălalt (dacă acesta nu era deja infectat).
Cerința
Acum William își pune următoarele întrebări:
1. Pentru fiecare om, poate acesta să fie unul dintre cei infectați inițial?
2. Pentru fiecare om, poate acesta să fie unul dintre cei neinfectați inițial?
Date de intrare
Pe prima linie se găsește un număr întreg C
, reprezentând numărul cerinței de rezolvat. Pe cea de-a doua linie se găsesc două numere întregi N
, M
, reprezentând numărul de persoane, respectiv numărul de întâlniri care au loc. Pe cea de-a treia linie se găsesc N
numere (având valori între 0
și 1
) separate prin spații, reprezentând
pentru fiecare om starea sa finală (0
– neinfectat, 1
– infectat). Următoarele M
linii reprezintă fiecare câte o întâlnire (în ordine cronologică), având 2
numere întregi distincte (între 1
și N
) reprezentând cele două persoane care se întâlnesc.
Date de ieșire
Se va afișa o singură linie conținând N
cifre binare neseparate prin spații, reprezentând răspunsul pentru
respectivul test. Dacă C = 1
, se rezolvă prima cerință, iar al i
-lea caracter va fi 1
dacă și numai dacă există un scenariu inițial în care persoana i
este infectată care duce la scenariul final dat, altfel va fi 0
. Dacă C = 2
, se rezolvă a doua cerință, iar al i
-lea caracter va fi 1
dacă și numai dacă există un scenariu
inițial în care persoana i
este neinfectată care duce la scenariul final dat, altfel va fi 0
.
Restricții și precizări
1 ≤ C ≤ 2
1 ≤ N ≤ 100.000
0 ≤ M ≤ 100.000
- Se garantează că pentru fiecare test există un scenariu posibil inițial care să ducă la scenariul final.
- Persoanele nu se pot infecta spontan. Acestea pot fi infectate la final doar dacă au fost infectate inițial sau au fost infectate de o altă persoană în urma unei întâlniri.
Exemplul 1:
Intrare
1 6 5 1 1 0 0 1 1 4 3 3 6 1 2 5 6 3 4
Ieșire
110010
Exemplul 2:
Intrare
2 6 5 1 1 0 0 1 1 4 3 3 6 1 2 5 6 3 4
Ieșire
111101
Explicații
Considerăm următoarele două scenarii inițiale: 010010
, 100010
.
Se poate observa ușor că ambele scenarii duc la starea finală 110011
în urma întâlnirilor. Pentru persoanele 1
, 2
și 5
există scenarii în care acestea sunt infectate inițial, și se poate demonstra că pentru niciuna dintre persoanele 3
, 4
și 6
nu există vreun scenariu inițial în care acestea să fie infectate.
Pentru persoanele 1
, 2
, 3
, 4
și 6
există scenarii în care acestea sunt neinfectate inițial, și se poate demonstra că pentru persoana 5
nu există vreun scenariu inițial în care acesta să fie neinfectată.