Cubic Rube

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

문제

당신은 루빅스 큐브 공장에서 일하며 새로운 형태인 $5\times5\times5$ 루빅스 큐브를 개발하고 있다. 하나뿐인 시제품이 바닥에 떨어져 정확히 두 조각으로 부서졌다. 지금 한 조각을 들고 있으며, 나머지 한 조각으로 이를 완성할 수 있는지 판단해야 한다.

각 조각은 단위 정육면체들로 이루어진 입체이다. 두 조각이 주어질 때, 이들을 3차원 공간에서 회전과 평행이동을 이용해 서로 맞붙여 빈틈과 겹침이 없는 $5\times5\times5$ 정육면체를 만들 수 있는지 판단하여라.

입력

첫째 줄에 데이터 집합의 개수 $n$이 주어진다.

각 데이터 집합은 이어지는 5개의 줄로 주어진다. 각 줄에는 공백 하나로 구분된 길이 5의 문자열 두 개가 있으며, 왼쪽 문자열은 첫 번째 입체를, 오른쪽 문자열은 두 번째 입체를 나타낸다. 5개의 줄을 합치면 각 입체를 위에서 내려다본 $5\times5$ 격자가 되고, 각 칸은 0부터 9까지의 숫자이다.

각 숫자는 그 지점에서 입체의 높이, 즉 그 위치에 쌓인 단위 정육면체의 개수를 뜻한다. 높이가 0이면 그 지점에는 정육면체가 없다. 이는 지형도와 같아서, 보이지 않는 아래쪽에 빈 공간은 없다고 가정한다. 즉 높이가 $h$인 칸은 $h$개의 단위 정육면체가 빈틈없이 쌓인 기둥이다.

각 입체는 하나로 연결된 조각이며, 두 입체를 맞붙일 때 회전뿐 아니라 평행이동이 필요할 수도 있다.

출력

각 데이터 집합마다, 두 입체를 맞붙여 빈틈과 겹침이 없는 $5\times5\times5$ 정육면체를 만들 수 있으면 Yes를, 그렇지 않으면 No를 한 줄에 하나씩 출력하여라.