QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 1024 MB Points totaux : 100 Hackable ✓

#17923. 초콜릿과 나이트 게임

Statistiques

코코는 체스를 좋아한다. 체스의 나이트의 움직임이 너무 단순하다고 생각한 코코는 "ㅋ나이트"라는 체스 말을 새로 만들었다. 나이트는 한 번 움직일 때 가로로 $1$칸, 세로로 $2$칸 움직이거나, 가로로 $2$칸, 세로로 $1$칸 움직일 수 있다. ㅋ나이트는 나이트의 확장판으로, 한 번에 가로로 $X$칸, 세로로 $Y$칸 움직이거나, 가로로 $Y$칸, 세로로 $X$칸 움직일 수 있다.

나이트 게임은 무한한 초콜릿 격자판에서 진행하는 $1$인용 게임이다. 매 턴마다 규칙에 맞게 나이트를 이동하고, 원래 나이트가 있던 칸의 초콜릿을 떼서 먹는다. 초콜릿이 없는 칸으로 나이트를 움직일 수는 없으며, 더 이상 나이트를 움직일 수 없게 되면 게임이 종료된다.

코코와 가위바위보에서 진 한별이에게 코코는 99\% 초콜릿과 ㅋ나이트를 가져와서 나이트 게임을 시켰다. 99\% 초콜릿을 잘 먹지 못하는 한별이를 위해, 어떻게 움직이면 가장 빨리 게임을 끝낼 수 있는지 알려주자. ㅋ나이트는 $(0, 0)$에서 시작한다.

Input

ㅋ나이트의 이동 규칙을 나타내는 $X$와 $Y$의 값이 한 줄에 순서대로 주어진다.

Output

첫 줄에는 이동 횟수 $K$를 출력한다. 다음 $K$줄에는 ㅋ나이트를 옮길 좌표를 한 줄에 하나씩 순서대로 출력한다. 시작 위치인 $(0, 0)$은 출력하지 않는다.

Examples

Input 1

1 1

Output 1

7
1 1
2 0
3 -1
2 -2
1 -3
0 -2
1 -1

Note

$0 \le X, Y \le 10^6$이며, $X$와 $Y$가 모두 $0$인 입력은 주어지지 않는다.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.