1998년에 중앙유럽 지역 대회가 프라하의 체코 공과대학교에서 처음 열렸다. 그해에는 프로그래밍 대회를 세 번 치렀고, 채점 시스템 PCSS 3을 처음부터 새로 만든 해이기도 하다. 이 프로그램은 작은 개선과 버그 수정만 거친 채로 2011년까지 14년 동안 쓰였다. 1998년 대회에는 보통 20개 팀과 6개 문제가 있었고, 가장 성능이 좋은 컴퓨터의 메모리가 64MB였으므로 PCSS는 자료 구조에 여러 제한을 두어야 했다. 2011년에는 팀이 약 100개, 문제가 11개였으니 그 제한 대부분은 14년 사이에 몇 배씩 넘어섰다.
이제 과거로 돌아가 1998년 문제 하나를 풀어 볼 기회가 왔다.
어린 매튜는 건축가가 되고 싶어서 틈만 나면 건축물을 만들었다. 재료가 넉넉하지 않아 나무로 만든 단위 정육면체를 위로 쌓아 건물을 지었다. 정육면체 기둥은 항상 단위 정사각형 K×K개로 이루어진 판 위에 놓았고, 기둥 하나가 판의 칸 하나를 정확히 덮게 두었다.
건물을 다 지으면 매튜는 그림 두 장을 그렸다. 정면에서 본 그림과 오른쪽에서 본 그림이다. 정면 그림은 왼쪽에서 오른쪽으로 가면서 판의 각 열에서 가장 높은 기둥의 높이를 적은 것이다. 오른쪽 그림은 앞에서 뒤로 가면서 판의 각 행에서 가장 높은 기둥의 높이를 적은 것이다.
매튜는 그림 두 장만 있으면 나중에 건물을 그대로 복원한다고 믿었다. 어른이 되고 나서야 그 생각이 틀렸음을 알았다. 그림 한 쌍이 서로 다른 건물 여러 개를 나타내는 경우가 대부분이었다. 그래서 매튜는 그림 한 쌍과 투영이 일치하는 모든 건물 중에서 정육면체를 가장 적게 쓴 건물을 최소 건물이라 부르고 그 개수를 L이라 했다. 같은 방식으로 정육면체를 가장 많이 쓴 건물을 최대 건물이라 부르고 그 개수를 M이라 했다.
그림 한 쌍이 주어질 때 L과 M을 구하는 프로그램을 작성하라.
첫 줄에 테스트 케이스의 개수 N이 주어진다. 각 테스트 케이스는 세 줄로 이루어진다. 테스트 케이스의 첫 줄에는 정사각형 판의 가로와 세로 길이를 나타내는 양의 정수 K가 주어지며 K≤100이다. 둘째 줄은 정면에서 본 그림, 셋째 줄은 오른쪽에서 본 그림을 나타낸다. 각 그림은 공백으로 구분된 음이 아닌 정수 K개로 주어지고 각 정수는 100000을 넘지 않는다. 정면 그림은 왼쪽에서 오른쪽 순서로, 오른쪽 그림은 앞에서 뒤 순서로 투영된 기둥 K개의 높이를 나타낸다.
주어진 그림 한 쌍마다 적어도 하나의 건물을 지을 수 있다고 가정해도 된다.
각 테스트 케이스마다 다음 문장을 정확히 한 줄로 출력한다.
Minimalni budova obsahuje L kostek, maximalni M kostek.
여기서 L은 주어진 그림 한 쌍이 나타내는 건물의 최소 정육면체 개수, M은 최대 개수다.