시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 16 2 2 40.000%

문제

"나이트"는 한국에서 엄청나게 유행하는 새 게임이다. 강산이와 창영이는 대세에 뒤쳐지지 않기 위해서 이 게임을 플레이하려고 한다. 강산이는 체스에서 사용하는 나이트 말을 N*N 체스판 위에 놓는다. 그 다음에, 창영이는 눈가리개를 하고, 강산이는 1초에 한 번씩 나이트를 T번 움직인다. 이렇게 움직인 이후에, 창영이가 나이트의 최종 위치를 맞추면 이기는 게임이다.

이 게임에서 사용하는 체스판은 보통 체스판이 아니다. 각 칸에는 숫자가 하나씩 써있다. 어떤 칸에 써있는 수를 K라고 한다면, 시작한지 0, K, 2K, 3k, ...초 이었을 때만 나이트가 이동할 수 있는 칸이다. 

게임은 0초일 때 시작된다. 강산이는 나이트를 움직일 수 있는 8개 칸 중 한 칸으로 반드시 이동시켜야 한다. 나이트가 그 자리에 있는 시간 동안 (i초 일 때, 나이트르 움직였다면 i+1초) 그 칸은 나이트가 이동할 수 있는 칸이어야 한다.

창영이를 도와서 T번 움직인 이후에 나이트가 있을 수 있는 곳의 위치를 모두 구하는 프로그램을 작성하시오.

입력

첫째 줄에 체스판의 크기 N과 강산이가 나이트를 움직이는 횟수 T가 주어진다. (3 ≤ N ≤ 30, 1 ≤ T ≤ 1,000,000)

둘째 줄에는 나이트의 시작 위치 X와 Y가 주어진다. (1 ≤ X, Y ≤ N)

다음 N개 줄에는 체스판에 써 있는 숫자가 주어진다. 이 값은 109보다 작거나 같은 자연수이다.

출력

첫째 줄에 T번 움직인 이후에 나이트가 있을 수 있는 곳의 위치의 수 M을 출력한다.

다음 M개 줄에는 그 위치를 한 줄에 하나씩 행이 증가하는 순서로, 행이 같다면 열이 증가하는 순서로 출력한다.

예제 입력

3 2
1 1
1 3 2
2 3 2
3 1 1

예제 출력

2
1 1
1 3

힌트