У деякому місті є перехресть, з'єднаних між собою одно- чи двохсторонніми дорогами. Це сучасне місто, деякі вулиці мають тунели та естакади. Очевидно, що повинна існувати можливість проходу між довільними двома перехрестями. Тобто для довільних двох перехресть та повинен існувати шлях з у та з у .
Ваша програма повинна прочитати систему вулиць міста і визначити, чи має у ній місце вказана вимога зв'язності.
Вхідні дані складаються з декількох тестів. Перший рядок тесту містить кількість перехресть (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