Asfalt

To zadanie pochodzi z Codeforces. Tam też znajdują się testy do zadania.
Jeśli Twoje rozwiązanie zostanie pozytywnie ocenione na tamtych testach, należy wysłać tu zgłoszenie wypisujące "Zrobione".

Limit pamięci: 256 MB

Mamy graf n miast i m dróg je łączących. Niektóre drogi są asfaltowe, inne nie. Chcemy zasfaltować wszystkie drogi.
Mamy do dyspozycji ekipę budowlaną, która jednego dnia może zaasfaltować wszystkie drogi wychodzące z miasta v.
Jest tylko jeden problem. Jeśli z miasta wychodzi jakaś droga asfaltowa, to budowlańcy zabierają cały asfalt z niej, zostawiając ją nieasfaltową.
Zamiast walczyć z krnąbrną ekipą, zastanawiasz się czy nie da się im wydać takich poleceń, by pod koniec wszystkie drogi były asfaltowe.
Musisz tylko zdążyć zrobić to w n dni.

Wejście

W pierwszym wierszu znajdują się dwie liczby n i m (n <= 100, m <= n*(n-1)/2). Następnie podane jest m wierszy opisujących drogi w postaci trójek a, b, c, gdzie a i b to połączone miasta, zaś co mówi czy droga jest asfaltowa (c=1 oznacza że jest, c=0 że nie).

Wyjście

W pierwszym wierszu wypisz x - liczbę dni potrzebną na skończenie prac. W następnym wierszu wypisz x liczb mówiących do jakich miast trzeba wysłać ekipę budowlaną.
Jeśli istnieje wiele poprawnych odpowiedzi, wypisz dowolną.
Jeśli nie da się skończyć robót, wypisz "Impossible".

Przykład

Wejście:
4 4
1 2 1
2 4 0
4 3 1
3 2 0
Wyjscie:
4
3 2 1 3
Wejście:
3 3
1 2 0
2 3 0
3 1 0
Wyjscie:
Impossible