노선을 추가할 집합을 정한 뒤에는, 이 확장 노선들을 어떤 순서로 건설할지가 중요한 문제가 됩니다. 새 노선은 건설되는 시점에 이미 기존 네트워크와 맞닿아 있어야만 쓸모가 있습니다. 예를 들어 아직 나머지 네트워크와 연결되지 않은 역까지 노선을 연장하는 것은 의미가 없습니다.
현재 네트워크는 하나의 시작점(역 $1$, 기존 네트워크 전체를 대표함)으로 주어지며, 여기에 제안된 모든 확장 노선이 함께 주어집니다. 각 확장 노선은 그 노선이 연결하게 될 역들의 집합으로 표현됩니다. 어떤 노선은 그 역들 중 적어도 하나가 이미 네트워크에 속해 있을 때에만 건설할 수 있으며, 일단 건설되면 그 노선의 모든 역이 네트워크의 일부가 됩니다.
모든 노선이 건설되는 시점에 네트워크와 연결되도록 하는 건설 순서를 구하거나, 그러한 순서가 존재하지 않음을 판별하세요.
첫 줄에는 데이터 집합의 개수 $K$가 주어집니다. 각 데이터 집합은 다음과 같은 형식입니다.
각 데이터 집합에 대해, 먼저 Data Set x: 형식의 한 줄을 출력합니다. 여기서 $x$는 그 데이터 집합의 번호이며 $1$부터 시작합니다.
그다음 노선을 건설해야 하는 순서대로, 한 줄에 노선 번호 하나씩 출력합니다(노선은 입력에 나타난 순서대로 $1$부터 $m$까지 번호가 매겨집니다). 각 노선은 건설되는 시점에 네트워크와 연결되어 있어야 합니다.
가능한 순서가 여러 개라면 사전순으로 가장 앞서는 것을 출력합니다. 두 순서를 서로 다른 첫 위치에서 비교하여, 그 위치의 노선 번호가 더 작은 순서를 앞에 둡니다.
가능한 순서가 존재하지 않으면 순서 대신 Impossible을 출력합니다.
서로 이웃한 데이터 집합 사이는 빈 줄로 구분합니다.