미르코는 지폐를 쓰지 않고 동전만 쓰는 먼 나라를 여행했다. 이 나라에는 동전이 N종류 있고, 이름은 각각 K1, K2, K3, ..., KN이다. 동전은 크기와 모양이 모두 같지만 무게가 서로 다르다. K1이 가장 가볍고 K2가 그다음으로 가벼우며, 같은 방식으로 이어져 KN이 가장 무겁다.
미르코의 주머니에는 동전이 M개 들어 있지만, 각각이 어떤 종류인지는 모른다. 종류를 알아내려고 그가 쓸 수 있는 도구는 단순한 양팔저울 하나뿐이다.
미르코는 먼저 동전에 1번부터 M번까지 번호를 붙였고, 그다음 저울질을 V번 했다. 한 번의 저울질에서는 저울 한쪽에 동전 하나를 올리고 반대쪽에 다른 동전 하나를 올린다. 그리고 두 동전의 무게가 같은지, 같지 않다면 어느 쪽이 더 무거운지 확인한다.
저울질 결과를 바탕으로, 종류를 하나로 확정할 수 있는 동전마다 그 종류를 구하는 프로그램을 작성하시오.
첫째 줄에 정수 N, M, V가 주어진다. 각각 이 나라에 있는 동전의 종류 수, 미르코의 주머니에 있는 동전의 개수, 저울질 횟수이다.
다음 V개의 줄에는 저울질 결과가 한 줄에 하나씩 ACB 형태로 주어진다. A와 B는 서로 다른 M 이하의 양의 정수이고, C는 문자 = (같다) 또는 < (더 가볍다)이다.
숫자와 문자 C 사이에는 공백이 없다. 저울질 결과 하나는 A번 동전이 B번 동전과 무게가 같거나 B번 동전보다 가볍다는 뜻이다.
저울질 결과에 모순은 없다.
M개의 줄을 출력한다. i번째 줄에는 i번 동전의 종류를 KX 형태의 문자열로 출력한다. 여기서 X는 1 이상 N 이하의 정수이다.
i번 동전의 종류를 하나로 확정할 수 없으면 i번째 줄에 문자 ?를 출력한다.
모든 서브태스크에서 2≤N≤300000, 2≤M≤300000, 1≤V≤300000이다.