Маємо міст і доріг. На жаль, стан доріг настільки поганий, що їх не можна використовувати. Ваше завдання — відремонтувати деякі дороги так, щоб між будь-якими двома містами існував маршрут.
Для кожної дороги відома вартість її ремонту, і ви повинні знайти рішення, при якому загальна вартість ремонту буде мінімальною.
Перший рядок містить два цілі числа n~(1 \le n \le 10^5) і m~(1 \le m \le 2 \cdot 10^5) — кількість міст і доріг. Міста пронумеровані числами від до .
Наступні рядків описують дороги. Кожен рядок містить три цілі числа a, b~(1 \le a, b \le n) і c~(1 \le c \le 10^9): між містами і є дорога з вартістю ремонту . Усі дороги двосторонні.
Кожна дорога з'єднує два різні міста, і між будь-якими двома містами може бути не більше однієї дороги.
Виведіть одне ціле число: мінімальну загальну вартість ремонту. Якщо рішення не існує, виведіть "IMPOSSIBLE".
Приклад 1