두 클링온 부족 사이에 전쟁이 일어났다. 클링온의 전쟁은 평범한 전쟁이 아니다. 명예롭고 영광스러워야 한다. 명예를 지키려면 양쪽 전력이 정확히 같아야 하고, 영광을 얻으려면 참가하는 전사가 최대한 많아야 한다.
각 부족은 엄격한 위계를 따른다. 부족 전체를 이끄는 지도자가 한 명 있고, 지도자는 직속 부하를 0명 이상 거느린다. 직속 부하는 나이가 많은 순서로 늘어선다. 각 부하도 자기 직속 부하를 0명 이상 거느리고, 그 부하들도 나이가 많은 순서로 늘어선다. 이런 식으로 위계가 이어진다. 전통에 따라 모든 전사는 자기 상관보다 어리다. 또 전사는 저마다 한 가지 전투 방식을 익힌다.
전사 한 명이 지휘하는 하위 부족은 그 전사 자신과 부하, 부하의 부하처럼 직접 또는 간접으로 그에게 속한 전사 전원으로 이루어진다. 두 하위 부족이 정확히 일치한다는 것은 다음 두 조건을 모두 만족한다는 뜻이다. 첫째, 두 하위 부족의 지도자는 전투 방식이 같고 직속 부하 수도 같다. 둘째, 각 지도자의 직속 부하를 나이가 많은 순서로 늘어놓았을 때 첫 번째 부하가 지휘하는 하위 부족끼리 정확히 일치하고, 두 번째 부하가 지휘하는 하위 부족끼리 정확히 일치하며, 나머지 자리도 모두 같은 방식으로 일치한다.
각 부족은 전사 한 명과 그가 지휘하는 하위 부족 전체를 전쟁에 내보낸다. 두 부족이 고른 하위 부족은 정확히 일치해야 하고, 크기는 최대한 커야 한다. 각 부족에서 몇 명이 싸우게 되는가?
첫 줄에 테스트 케이스의 수 T (1≤T≤50)가 주어진다.
각 테스트 케이스의 첫 줄에는 두 부족의 크기 M과 N (1≤M,N≤10000)이 주어진다. 이어지는 M개 줄에는 첫 번째 부족의 전사 i를 나타내는 대문자 fi와 정수 si가 주어진다. fi는 전사 i의 전투 방식이고, si는 그 전사의 상관 번호이다. 전사 번호는 0부터 시작하고, 전사 0은 언제나 부족의 지도자여서 s0=−1이다. i≥1인 전사는 0≤si<i를 만족한다. 전사는 나이가 많은 순서로 주어진다. 그다음 N개 줄에는 같은 형식으로 두 번째 부족의 전사 j의 전투 방식 fj와 상관 번호 sj가 주어진다.
각 테스트 케이스마다 두 부족이 각각 내보낼 수 있는 전사 수의 최댓값을 한 줄에 출력한다. 정확히 일치하는 하위 부족 쌍이 하나도 없으면 0을 출력한다.