문제
농부 존은 자신의 집에 장식이 더 필요하다고 결심했다. 근처의 도자기 가게에 방문한 그는 섬세한 유리소 cow 모형을 발견하고 이를 구매하기로 결정한다. 이 모형이 벽난로 위에 놓일 때 완벽하게 어울릴 것이라고 생각한 것이다.
소 모형의 모양은 아래와 같이 N × N 크기의 문자 그리드로 설명된다 (3 ≤ N ≤ 8). 여기서 '#' 문자는 모형의 일부를 나타내며, '.' 문자는 그렇지 않음을 나타낸다.
...............
...............
...............
#..#...........
####...........
############...
.##.#########..
....#######.##.
....##...##....
....##...##....
...............
...............
...............
...............
...............불행히도, FJ가 구매를 하려고 바로 그 순간, 한 황소가 가게에 뛰어들어 FJ의 소 모형뿐만 아니라 선반 위의 다른 많은 유리 물건들도 깨뜨리고 말았다! FJ의 모형은 두 조각으로 부서졌고, 이 두 조각은 K개의 총 조각들 사이에 섞여 사라졌다 (3 ≤ K ≤ 10). 각 K개의 조각은 원래의 모형처럼 N × N 그리드로 설명된다.
이제 FJ가 어떤 두 조각을 찾아야 하는지 도와줘야 한다. 부서진 소 모형을 고치기 위해 두 조각을 맞춰야 하는데, 다행히도 두 조각이 떨어져 있을 때 회전하거나 뒤집히지 않았기 때문에, FJ는 수평 또는 수직으로 두 조각을 이동시키고 겹쳐서 원래의 모형을 복원할 수 있다. 두 조각이 맞다면, 두 조각을 이동시켜 원래의 모형과 정확히 일치시킬 수 있다. 즉, 원래 모형의 모든 '#'가 두 조각 중 하나에 정확히 하나씩 나타나야 하며, 두 조각을 겹쳤을 때 '#' 문자가 겹쳐서는 안 된다.
FJ는 각 조각을 수평 또는 수직으로 어떤 수만큼 이동시킬 수 있지만, 조각의 '#'가 원래의 N × N 그리드 밖으로 나가지 않도록 이동시켜야 한다. 또한 각 조각의 형태가 반드시 하나의 "연결된" 영역으로 구성되어 있지 않을 수 있지만, 여러 개의 분리된 '#' 덩어리들이 하나의 조각을 이루는 경우, 그 덩어리들 모두 동일한 만큼 이동해야만 조각이 제대로 이동된 것으로 간주된다.
입력
입력의 첫 번째 줄에는 N과 K가 주어진다.
그다음 N개의 줄에는 FJ의 원래 모형을 설명하는 문자 그리드가 주어진다.
그 후 K개의 조각을 설명하는 K개의 N×N 그리드가 주어진다.
출력
Please print out one line containing two space-separated integers, each in the range
A solution will always exist, and it will be unique. The two numbers you print must be in sorted order.
예제
4 3
####
#..#
#.##
....
.#..
.#..
##..
....
####
##..
#..#
####
....
.###
.#..
.#..
1 3