자물쇠와 열쇠
시간 제한2초메모리 제한128 MB
트리 구조 미로에서 한 번에 하나의 열쇠만 들 수 있는 조건 하에 색깔별 잠긴 문을 열어 시작 방에서 목적지 방까지 도달 가능한지 판단하는 문제입니다.
문제
마법사 재환이는 개의 방과 개의 문으로 이루어진 미로에 갇혀 있습니다. 각 문은 두 방을 양방향으로 연결하며, 어떤 방에서 다른 어떤 방으로도 항상 이동할 수 있습니다(즉, 미로는 트리 구조입니다). 서로 다른 가지 색의 자물쇠 개와 같은 가지 색의 열쇠 개가 있습니다. 각 문은 최대 한 개의 자물쇠로 잠겨 있을 수 있고, 각 방에는 최대 한 개의 열쇠가 놓여 있습니다. 각 색의 자물쇠와 열쇠는 정확히 하나씩 존재합니다.
재환이는 마법사라서 원래는 마법으로 자물쇠를 열 수 있지만, 주문책을 두고 오는 바람에 지금은 마법을 전혀 쓸 수 없습니다.
재환이는 지금 방 에 있고, 주문책이 있는 방 로 가려고 합니다. 한 번에 현재 방과 문으로 연결된 인접한 방으로 이동할 수 있습니다. 문이 잠겨 있다면 그 자물쇠와 같은 색의 열쇠를 들고 있어야만 문을 열고 지나갈 수 있습니다. 한 번 연 문은 계속 열린 채로 남아 이후에는 자유롭게 오갈 수 있습니다.
재환이는 한 번에 열쇠를 하나만 들 수 있습니다. 또한 나중에 다시 쓰려고 열쇠를 다른 방에 내려놓을 수 없으며, 잠긴 문을 열면 그 열쇠는 사라집니다.
미로의 구조와 열쇠 개, 자물쇠 개의 위치가 주어질 때, 재환이가 방 에서 방 로 이동할 수 있는지 판정하세요.
입력
입력은 여러 개의 테스트 케이스로 이루어집니다.
각 테스트 케이스의 첫째 줄에는 네 정수 , , , 가 주어집니다. 는 방의 개수(), 는 자물쇠(그리고 열쇠)의 개수()이며, 와 는 각각 출발하는 방과 도착하는 방의 번호입니다. 방은 번부터 번까지 번호가 매겨져 있습니다.
이어지는 개의 수는 색 번호가 커지는 순서대로(색 부터 색 까지) 각 색의 열쇠가 놓인 방의 번호입니다.
그다음 개의 줄에는 문 정보 이 주어집니다. 이면 방 와 를 잇는 문이 색 의 자물쇠로 잠겨 있다는 뜻이고, 이면 잠겨 있지 않다는 뜻입니다.
입력의 마지막 줄은 0 0 0 0입니다.
출력
각 테스트 케이스마다 한 줄을 출력합니다. 재환이가 방 에서 방 로 이동할 수 있으면 Possible을, 그렇지 않으면 Impossible을 출력합니다.