두고 온 인형
시간 제한2초메모리 제한512 MB
각 상점의 재고와 구매 순서가 주어질 때, 상점 번호가 감소하지 않도록 구매를 배정하는 방법이 없음, 하나, 여러 개인지 판정한다.
문제
오늘 동생이 온 동네를 돌며 장을 다 봐 주었다. 아끼는 인형 플러피노즈도 내내 데리고 다녔는데, 집에 돌아와 보니 인형이 사라졌다. 동생이 인형에서 손을 놓는 때는 장바구니 목록에 있는 물건을 집을 때뿐이므로, 인형은 실제로 물건을 산 가게 중 한 곳에 남아 있다.
동생은 들른 가게와 방문 순서는 기억하지만 어느 가게에서 무엇을 샀는지는 기억하지 못한다. 아무것도 사지 않고 나온 가게도 있을 수 있다. 대신 물건을 살 때마다 가방에 차곡차곡 쌓았기 때문에 구매 순서만큼은 정확히 기억한다.
동생이 방문한 순서대로 가게에 번부터 번까지 번호를 붙인다. 가능한 경로란 각 구매를 그 물건을 파는 가게 하나에 대응시키되, 구매 순서대로 읽은 가게 번호가 줄어들지 않도록 한 대응이다. 각 가게가 파는 물건과 구매 순서대로 나열한 물건 목록이 주어질 때, 그런 대응이 하나도 없는지, 정확히 하나인지, 둘 이상인지 판정하라.
입력
첫째 줄에 동네에 있는 가게의 수 이 주어진다. ()
둘째 줄에 정수 가 주어진다. ()
다음 개 줄에는 정수 ()와 문자열 가 공백을 사이에 두고 주어진다. 동생이 번째로 들른 가게에서 물건 를 판다는 뜻이다. 는 소문자로만 이루어지고 길이는 이하이다. 모든 가게는 물건을 하나 이상 팔고, 모든 물건은 한 곳 이상의 가게에서 팔며, 한 가게에 같은 물건이 두 번 나오지 않는다.
다음 줄에 동생이 산 물건의 개수 이 주어진다. ()
다음 개 줄에는 산 물건의 이름 가 구매한 순서대로 한 줄에 하나씩 주어진다. 산 물건은 모두 서로 다르다.
출력
동생의 설명과 맞는 경로가 없으면 impossible, 정확히 하나이면 unique, 둘 이상이면 ambiguous를 출력한다.