매년 7월 1일, 퀘벡의 주민들은 '이사 가는 날(Moving Day)'을 맞이한다. 대부분의 아파트 임대차 계약이 이날 시작되고 끝나기 때문에, 많은 사람이 이날 한꺼번에 이사한다. 거리는 이삿짐 트럭과, 짐을 싸고 푸는 사람들, 트럭이 비기를 기다리거나 이전 세입자가 집을 비워 주기를 기다리는 사람들로 가득 찬다. 이삿짐 업체에게는 바쁘지만 돈을 많이 버는 시기다.
당신은 한 작은 마을의 주민들이 어떤 순서로 이사해야 하는지 계획하는 프로그램을 작성해야 한다. 트럭이 단 한 대뿐이므로, 이사하는 모든 사람이 그 트럭을 함께 써야 한다. 따라서 사람들은 한 번에 한 명씩만 이사할 수 있다. 어떤 사람은 이전 세입자가 완전히 이사를 나간 뒤에야 새집으로 들어갈 수 있다. 각 사람은 옛집에서 새집으로 곧바로 이사하며, 새집이 비기를 기다리는 동안 다른 빈집에 임시로 들어가 있을 수는 없다.
두 사람이 같은 집으로 이사해 들어가는 경우는 없다고 가정해도 된다. 또한 두 사람이 같은 집에서 이사해 나가는 경우도 없다고 가정해도 된다. 그리고 누군가가 이사해 들어가는 집은 모두, 원래 비어 있거나 이사 가는 날에 누군가가 비워 주는 집이라고 가정해도 된다.
첫 번째 줄에는 이사하는 사람의 수 $n$ ($1 \le n \le 100$)이 주어진다. 이어지는 $n$개의 줄에는 각각 한 사람의 이름, 그 사람이 이사해 나가는 집의 주소, 이사해 들어가는 집의 주소가 순서대로 주어진다. 마을에는 큰길(Main St.)이 하나뿐이므로, 각 주소는 $1$ 이상 $100$ 이하의 정수 하나로 나타낸다. 이름의 길이는 100자를 넘지 않으며, 이름은 알파벳과 숫자로만 이루어져 있다.
사람들이 이사해야 하는 순서대로 이름을 한 줄에 하나씩 출력한다. 가능한 이사 순서가 여러 가지라면, 그중 사전순으로 가장 앞서는 순서를 출력한다. 즉, 이름들의 수열을 표준 문자열 비교로 비교했을 때 가장 작은 것을 출력한다. 이는 매 단계에서 지금 당장 이사할 수 있는 사람들 중 이름이 사전순으로 가장 앞서는 사람을 이사시키는 것과 같다. 각 사람의 새집이 그 사람이 이사할 시점에 비어 있도록 하는 순서가 존재하지 않으면, "Impossible"이라는 단어만 출력한다.