Прийти та піти#6933

Прийти та піти

1 секунда
64 мегабайти
Дуже легка

У деякому місті є перехресть, з'єднаних між собою одно- чи двохсторонніми дорогами. Це сучасне місто, деякі вулиці мають тунели та естакади. Очевидно, що повинна існувати можливість проходу між довільними двома перехрестями. Тобто для довільних двох перехресть та повинен існувати шлях з у та з у .

Ваша програма повинна прочитати систему вулиць міста і визначити, чи має у ній місце вказана вимога зв'язності.

Вхідні дані

Вхідні дані складаються з декількох тестів. Перший рядок тесту містить кількість перехресть (2 \le N \le 2000) та кількість вулиць (2 \le M \le N(N - 1)/2). Наступні рядків описують систему вулиць міста, один рядок задає одну вулицю. Опис вулиці складається з трьох чисел , та , де та - різні номери перехресть (1 \le V, W \le N, V \ne W), а дорівнює або ; якщо P = 1, то вулиця однонаправлена, і рух відбувається у напрямку від до ; якщо P = 2, то вулиця двонаправлена, зв'язує та . Кожна пара перехресть з'єднана максимум однією вулицею.

Останній рядок містить два нулі і не опрацьовується.

Вихідні дані

Для кожного тесту вивести у окремому рядку одиницю, якщо умова зв'язності має місце, і нуль у протилежному випадку.

Приклади

Приклад 1

Loading
Loading