시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB29810710146.544%

문제

흐즈로는 "스네이크"라는 고전 게임을 매우 좋아합니다. 스네이크는 다음과 같은 규칙에 따라 진행됩니다.

  1. 게임은 $n \times m$ 격자에서 진행됩니다. 이때, $n$이 $x$축 길이, $m$이 $y$축 길이입니다.
  2. 플레이어는 격자 위에서 연결된 칸 $c_1, c_2, \dots, c_l$로 구성된 뱀을 상하좌우로 조종합니다. "연결됨"이라고 함은 $1<i \le l$인 모든 수에 대해 $c_{i-1}$과 $c_i$가 상하, 또는 좌우로 인접함을 의미합니다.
  3. 매 턴마다 뱀은 상하좌우 중 한 방향으로 이동합니다. 이 때, 뱀의 마지막 칸 ($c_l$, 이하 "꼬리")이 사라지고, 뱀의 첫 칸 ($c_1$, 이하 "머리")이 조종된 방향으로 한 칸 연장됩니다. 그 후 각 칸의 번호가 새롭게 정해집니다.
  4. 뱀은 동일한 칸을 동시에 두 번 이상 차지할 수 없습니다. 따라서, 뱀의 머리는 뱀이 지나고 있으면서 꼬리가 위치하지 않은 칸으로는 이동할 수 없습니다.
  5. 뱀의 머리는 뱀의 두번째 칸 ($c_2$)이 있는 방향으로는 이동할 수 없습니다.

이 게임은 정말 간단하고 유명해서, 최적의 전략도 잘 알려져 있습니다. 바로 머리와 꼬리가 인접한 상태를 유지하면서 이동하는 것입니다! 흐즈로는 이러한 "최적의 전략"을 사용해 얼마나 긴 뱀을 안정적으로 유지할 수 있을지 궁금했습니다. 격자의 $x$축 길이 $n$과 $y$축 길이 $m$이 주어질 때, "최적의 전략"을 유지할 수 있는 가장 긴 뱀의 길이를 출력하세요. 또한, "최적의 전략"에서 가능한 가장 긴 뱀이 위치할 수 있는 칸들 $c_1, c_2, \dots, c_l$을 순서대로 출력하세요.

입력

두 정수 $n$과 $m$이 한 줄에 공백으로 분리되어 주어집니다. ($2 \le n,m \le 200$) $n$이 $x$축 길이, $m$이 $y$축 길이임에 유의하세요.

출력

첫 번째 줄에 가능한 가장 긴 뱀의 길이 $l$을 출력하세요.

두 번째 줄부터 $l+1$ 번째 줄까지 $l$개의 줄에 각각 $c_i$를 나타내는 두 수 $x_i, y_i$를 공백으로 구분하여 출력하세요.

가능한 뱀의 배치가 여러 가지 존재한다면, 그 중 아무거나 하나 출력하면 됩니다.

예제 입력 1

2 2

예제 출력 1

4
1 1
1 2
2 2
2 1

예제 입력 2

2 3

예제 출력 2

6
1 1
2 1
2 2
2 3
1 3
1 2

예제 입력 3

3 3

예제 출력 3

8
3 2
3 1
2 1
1 1
1 2
1 3
2 3
3 3

출처

Contest > 흐즈로컵 > 제1회 흐즈로컵 A2번