There are N oases connected by M roads in the desert,and each road is L km long.Now a traveler who can at most walk K km with his supplies.
We define two concept now:
1.The Biggest Dangerous Oasis List: For every pair of oases in the list,their minimum distance should be longer than K km.And the size of The Biggest Dangerous Oasis List is biggest among lists which meet the condition.
2.The Smallest Safe Oasis List:for every pair of oases in the desert,if their minimum distance is shorter than K km,the list should contain at least one of them .And the size of The Smallest Safe Oasis List is smallest among lists which meet the condition.
Now the traveler wants to get a list which is both The Biggest Dangerous Oasis List and The Smallest Safe Oasis List.
输入解释
There is a t in the first line,means k cases.In each case,there is firstly n (0<= n <= 500 ),m(0<=m<=n*(n-1)/2) and k(0<=k<=100000).Then m lines, each line input a,b(1<=a,b<=n),and l(0<=l<=100000),means there is a road which is l km long between a and b.
输出解释
for each case,firstly the size of the list,then print the oases in the list in increasing order,separated by spaces. If there are multiple answers, print the lexicographically smallest one. If there is no list, output "Impossible"