eolymp
bolt
Try our new interface for solving problems
Problems

Прыгать!

Прыгать!

Тигра любит прыгать! К сожалению, прыгать по лесу не очень удобно - и за кочку можно зацепиться и в дерево врезаться. Умный и добрый Кролик решил помочь Тигре и построить несколько удобных дорог из желтого кирпича (ведь желтый - любимый цвет Тигры). Для этого он составил полную карту Стоакрового Леса и посчитал какие дороги можно построить, и сколько кирпича на каждую из них потребуется. Оценив запасы кирпича, Кролик понял что возможно вместо некоторых дорог можно построить настоящие лесные автобаны - широкие дороги, где Тигра сможет разогнаться еще быстрее и получить больше удовольствия от движения. Для постройки автобана вместо обычной дороги потребуется в \textbf{c} раз больше кирпича, независимо от расположения дороги. Каждая дорога соединяет какие-то два интересных для Тигры места - домики обитателей Леса, поляны, где он может вдоволь попрыгать и так далее. Кролик пронумеровал интересные места целыми числами от \textbf{1} до \textbf{n} и выписал список возможных дорог. Теперь он хочет построить дорожную сеть таким образом, чтобы было построено как можно больше автобанов, но при этом можно было из каждого интересного места попасть в любое другое. Для реализации этого плана у Кролика в распоряжении есть \textbf{k} кирпичей. Помогите ему спланировать постройку дорог! \InputFile Первая строка входного файла содержит четыре целых числа \textbf{n}, \textbf{m}, \textbf{k} и \textbf{c} (\textbf{1} ≤ \textbf{n}, \textbf{m} ≤ \textbf{100000}; \textbf{1} ≤ \textbf{k} ≤ \textbf{10^9}; \textbf{1} ≤ \textbf{c} ≤ \textbf{1000}) - количество интересных мест, возможных дорог, общее количество кирпичей и коэффициент, во сколько раз больше кирпичей требуется на постройку автобана, соответственно. Следующие \textbf{m} строк содержат описания дорог - три целых числа \textbf{a_i}, \textbf{b_i}, \textbf{l_i} (\textbf{1} ≤ \textbf{a_i}, \textbf{b_i} ≤ \textbf{n}; \textbf{1} ≤ \textbf{l_i} ≤ \textbf{10^6}) - номера интересных мест, которые соединяет дорога и количество кирпича, необходимое на постройку этой дороги, соответственно. Каждая дорога соединяет два различных интересных места. Между двумя интересными местами может быть более одной дороги. \OutputFile Если невозможно построить такую сеть дорог, то выведите в выходной файл единственное слово "\textbf{Impossible}". Иначе, в первой строке выходного файла выведите два целых числа \textbf{p} и \textbf{q} - количество обычных дорог и автобанов в оптимальном плане. Во второй строке выведите \textbf{p} целых чисел - номера обычных дорог, которые необходимо построить в возрастающем порядке. В третей строке выведите \textbf{q} целых чисел - номера автобанов, также в возрастающем порядке. Дороги пронумерованы в порядке появления во входном файле. В случае нескольких оптимальных решений, выведите любое.
Time limit 3 seconds
Memory limit 256 MiB
Input example #1
4 2 10 2
1 2 3
3 4 5
Output example #1
Impossible
Author Анна Малова, Сергей Поромов