피자 하와이

시간 제한1초메모리 제한128 MB

문제

당신은 외국을 여행하고 있습니다. 현지 음식도 기꺼이 맛보고 싶지만, 피자를 파는 이탈리아 식당을 발견하자 그냥 지나칠 수가 없습니다. 안타깝게도 메뉴는 현지어로 적혀 있어서, 피자 재료 목록이 무슨 뜻인지 전혀 알 수 없습니다. 어떻게 하면 좋을까요?

한 가지 눈에 띄는 점은, 각 피자에 익숙하게 들리는 이탈리아식 이름이 붙어 있다는 것입니다. 그리고 그런 이름의 피자에 보통 어떤 재료가 들어가는지도 당신은 기억하고 있습니다. 이 정보를 이용해, 재료 목록의 각 단어가 어떤 뜻일 수 있는지 알아내려고 합니다.

입력

입력의 첫째 줄에는 테스트 케이스의 수 t (0 < t ≤ 20)가 주어집니다.

각 테스트 케이스는 메뉴에 있는 피자의 수 n (1 ≤ n ≤ 60)을 담은 줄로 시작합니다. 이어지는 3·n개의 줄이 그 피자들을 설명합니다. 각 피자는 세 줄로 설명됩니다.

  • 첫째 줄은 피자의 이름으로, 대문자와 소문자 3자 이상 20자 이하로 이루어집니다.
  • 둘째 줄은 정수 mi로 시작하며, 이는 메뉴에 적힌 그 피자의 재료 수(1 ≤ mi ≤ 20)입니다. 그 뒤에 mi개의 재료가 공백으로 구분되어 옵니다. 각 재료는 소문자 2자 이상 20자 이하의 단어입니다.
  • 셋째 줄은 같은 형식으로, 그 피자에 대해 당신이 기억하는 모국어 재료들을 줍니다.

두 줄의 재료 개수는 다를 수 있습니다. 같은 이름의 피자라도 식당마다 재료가 조금씩 다를 수 있어서, 당신이 기억하는 재료가 실제 목록과 일치하지 않을 수 있기 때문입니다.

출력

각 테스트 케이스마다, 다음을 만족하는 모든 단어 쌍 (w1, w2)를 출력합니다. w1은 현지어 재료, w2는 모국어 재료이며, w1과 w2가 정확히 같은 피자 집합에 등장합니다(즉, w1이 w2와 같은 재료를 뜻할 수 있습니다). 각 쌍은 (w1, w2) 형태로 한 줄에 하나씩 출력합니다. 쌍은 w1을 기준으로 사전순 오름차순으로 정렬하고, w1이 같으면 w2를 기준으로 사전순 오름차순으로 정렬합니다. 서로 다른 테스트 케이스 사이에는 빈 줄을 하나 출력합니다.