당신에게는 모든 지출을 기록해 주던 회계사가 있었습니다. 당신은 매일 지출을 적은 메모를 회계사에게 건넸고, 회계사는 그것을 하나의 커다란 요약 파일 끝에 이어 붙였습니다. 각 메모는 다음과 같이 여러 줄로 이루어져 있었습니다.
bed = 100
table = 150
furniture = bed + table
furniture = furniture + 10
좀 더 일반적으로, 메모의 각 줄은 다음 두 형태 중 하나였습니다.
name = number
name = item + item
여기서 item은 number 또는 name이고, number는 앞에 0이 붙지 않은 109 이하의 자연수이며, name은 소문자와 대문자로 이루어진 비어 있지 않은 문자열입니다.
회계사는 메모를 요약 파일로 옮길 때, 각 메모 안의 줄 순서를 바꾸지 않았고 서로 다른 메모의 줄을 섞지도 않았습니다. 다만 이름을 바꾸는 경우가 있었습니다. 하나의 메모 안에서는 일관되게 바꾸어서, 같은 이름은 모두 같은 새 이름으로 바뀌었고 서로 다른 두 이름은 항상 서로 다른 이름으로 바뀌었습니다. 그러나 서로 다른 메모 사이에는 이런 일관성이 보장되지 않았습니다. 한 메모의 beer가 drink로 바뀌고, 다른 메모의 tee도 drink로 바뀌며, 또 다른 메모의 beer는 food로 바뀔 수도 있습니다. 이렇게 회계사가 바꾼 메모를 그 메모의 전사(transcription)라고 부릅니다.
정확히 말하면, 어떤 메모의 전사란 그 메모의 이름들을 일대일로 바꾸어(숫자와 각 줄의 구조는 그대로 둔 채) 얻을 수 있는, 요약 파일의 연속된 줄들의 구간입니다.
회계사가 막 그만두는 바람에 당신에게는 요약 파일과 정렬되지 않은 수많은 메모 더미만 남았습니다. 각 메모에 대해, 그 메모의 전사가 요약 파일의 어느 위치에서 시작될 수 있는지 구하세요.
입력은 여러 개의 테스트 케이스로 이루어져 있습니다. 첫째 줄에는 테스트 케이스의 수를 나타내는 양의 정수 Z≤15가 주어집니다. 이어서 Z개의 테스트 케이스가 주어집니다.
각 테스트 케이스의 첫째 줄에는 메모의 개수 k (1≤k≤50000)가 주어집니다. 그다음 k개의 메모에 대한 설명이 주어지고, 마지막으로 요약 파일에 대한 설명이 주어집니다. 각 설명(메모 또는 요약 파일)은 줄의 개수를 나타내는 정수 d (1≤d)가 적힌 한 줄로 시작하고, 이어서 위에서 설명한 형식의 줄이 d개 주어집니다.
이름, 숫자, 그리고 기호 =와 +는 하나의 공백으로 구분되며, 각 줄의 길이는 최대 100자입니다. 전체 텍스트의 길이와 모든 메모의 길이의 합은 각각 최대 3×106입니다.
각 테스트 케이스마다 k개의 줄을 출력합니다. i번째 줄에는 i번째 메모의 전사가 시작될 수 있는 요약 파일의 첫 번째 줄 번호(줄 번호는 1부터 시작)를 출력하고, 그러한 구간이 존재하지 않으면 NONE을 출력합니다.