확인할 수 있는 덧셈

x+y=z 형태의 기록된 등식들로부터 값이 하나로 정해지는 질의 쌍합을 구해 출력합니다.

보통6유니온 파인드그래프아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

6년 전, 나쁜 마음을 먹은 과학자 앨리스가 지능이 갓난아기 수준인 로봇 밥을 만들었다.

이제 밥은 여섯 살이고 초등학교에 다닌다. 수학에서 처음 배운 연산이 덧셈이다. 추론하는 힘이 좋아서 a=2a=2b=10b=10에서 a+b=12a+b=12를 이끌어낸다.

앨리스는 밥의 덧셈 실력을 시험했다. a=2a=2, b=10b=10, c=4c=4 같은 등식을 주고 a+ba+b, a+ca+c 같은 질문의 답을 물었다. 답안을 한 문제씩 채점하는 동안 틀린 곳은 나오지 않았는데, 원래 등식이 적힌 종이에 커피를 쏟고 말았다. 앨리스에게 남은 것은 밥이 맞힌 답의 목록뿐이다. 예를 들어 a+b=12a+b=12, a+c=6a+c=6, c+d=5c+d=5가 남았다. 앨리스는 아직 확인할 수 있는 질문을 계속 채점하려고 한다. 이 세 답에서 b+d=11b+d=11이 나오므로 질문 b+db+d는 확인할 수 있다.

로봇이 앨리스의 손에 넘어가지 않게 하려고, 당신은 조수로 위장해 들어갔다. 앨리스는 남은 질문 중 어떤 것을 확인할 수 있는지와 그 답을 알려 달라고 한다.

기록으로 남은 답과 어긋나지 않는 모든 값 배정에서 x+yx+y의 값이 같으면, 질문 x+yx+y를 확인할 수 있다.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어진다.

각 테스트 케이스의 첫째 줄에는 밥이 맞힌 질문의 개수 NN이 주어진다. 다음 NN개의 줄에는 맞힌 질문이 한 줄에 하나씩 x+y=z 형태로 주어진다. xy는 변수 이름이고 z는 십진수 정수이다.

그다음 줄에는 남은 질문의 개수 QQ가 주어진다. 다음 QQ개의 줄에는 질문이 한 줄에 하나씩 x+y 형태로 주어진다.

제한

  • 변수 이름은 알파벳 소문자로 이루어진 문자열이고, 길이는 10자 이하이다.
  • 200000z200000-200000 \le z \le 200000
  • 맞힌 질문 사이에 모순은 없고, 확인할 수 있는 질문의 답은 항상 정수이다.
  • T3T \le 3
  • N5000N \le 5000
  • Q5000Q \le 5000
  • 맞힌 질문이나 남은 질문에서 두 이름이 같은 변수일 수 있다.

출력

각 테스트 케이스마다 먼저 Case #x:를 한 줄에 출력한다. x는 1부터 시작하는 테스트 케이스 번호이다. 그다음 그 테스트 케이스에서 확인할 수 있는 질문마다 x+y=z 형태로 한 줄씩 출력한다. xy는 질문에 적힌 그대로의 변수 이름이고, z는 십진수 정수로 쓴 답이다.

질문은 입력에 주어진 순서를 지킨다. 같은 질문이 여러 번 나와도 건너뛰지 않는다. 앨리스의 실수를 지적하면 해고당하기 때문이다. 확인할 수 없는 질문은 아무 줄도 출력하지 않는다.