친구는 문서에서 흔한 영어 단어를 IPv4 주소로 바꿔 쓰는 버릇이 있다. 그 주소를 원래 단어로 되돌리려고 한다. 다행히 단어와 주소를 짝지어 놓은 표를 구했다. 표의 항목 중에는 주소 하나 대신 주소 구간이 적힌 것도 있다.
IPv4 주소는 32비트 부호 없는 정수이고, 보통 점으로 구분한 십진 표기로 쓴다. 예를 들어 172.30.12.255는 8비트 부호 없는 정수 네 개를 점으로 이어 붙인 것이다. 주소를 정수로 볼 때 맨 앞의 수가 최상위 바이트다.
표가 덮는 주소는 표에 적힌 단어로 바꾸고, 나머지 주소는 그대로 둔다.
첫째 줄에 테스트 케이스의 개수 T (1≤T≤50)가 주어진다.
각 테스트 케이스는 표 부분과 본문 부분으로 이루어진다.
표 부분의 첫 줄에는 표 항목의 개수 M (1≤M≤1000)이 주어진다. 이어지는 M개의 줄에는 항목이 하나씩 주어지는데, 단어 하나와 IPv4 주소 하나가 오거나 단어 하나와 IPv4 주소 두 개가 온다. 앞의 형태에서는 그 주소 하나만 단어로 바꾼다. 뒤의 형태에서는 두 주소가 만드는 구간에 속하는 모든 주소를 단어로 바꾼다. 구간이 주어질 때 첫 번째 주소는 항상 두 번째 주소보다 작다.
표에 같은 항목이 두 번 나오지는 않는다. 같은 단어가 두 번 나오지 않고, 같은 주소도 두 번 나오지 않으며, 서로 겹치는 구간도 없다. 따라서 주소 하나를 덮는 항목은 많아야 하나다.
본문 부분의 첫 줄에는 본문의 줄 수 N (1≤N≤1000)이 주어진다. 이어지는 N개의 줄에는 단어와 IPv4 주소가 최대 20개까지 공백 하나로 구분되어 주어진다. 단어는 영어 알파벳으로만 이루어진다. 주소는 숫자와 점으로만 이루어지고, 각 옥텟은 0 이상 255 이하이며 앞에 0을 덧붙이지 않는다.
각 테스트 케이스마다 본문의 줄을 순서대로 처리한다. 표가 덮는 주소를 그 단어로 바꾼 줄을 출력한다. 대응하는 단어가 없는 주소는 원래 모습 그대로 출력하고, 단어도 바꾸지 않고 출력한다. 한 줄 안의 항목은 공백 하나로 구분해 출력한다.