CF1816A Ian Visits Mary
题目描述
$\textrm{lan}$ 和 $\textrm{Mary}$ 是生活在笛卡尔坐标系格点上的青蛙,$\textrm{lan}$ 在 $(0,0)$,而 $\textrm{Mary}$ 在 $(a,b)$。
$\textrm{lan}$ 想在 笛卡尔坐标系上跳来跳去去访问 $\textrm{Mary}$。每一秒,他会从当前位置 $(x_p,y_p)$ 跳到整点 $(x_q,y_q)$,使得若用一条线段连接 $(x_p,y_p)$ 和 $(x_q,y_q)$,没有整点在这条线段上。
$\textrm{lan}$ 想尽快见到 $\textrm{Mary}$,所以他想用最多两次跳跃到 $(a,b)$。不幸的是,$\textrm{lan}$ 不太会数学,你能帮帮他吗?
整点被定义为 $x$ 坐标和 $y$ 坐标都是整数的点。
输入格式
第一行包含一个整数 $t$ ( $1\le t\le 500$ ),表示测试数据的数量。
对于每一个数据:
只有一行包含两个正整数 $a,b$ ( $1\le a,b\le 10^9$ ),含义如题面所示。
输出格式
对于每一个数据:
第一行是一个正整数 $n$ ( $1\le n\le 2$ ),表示 $\textrm{lan}$ 需要几次跳跃访问 $\textrm{Mary}$。**注意:你不需要让 $n$ 最小。**
下面是 $n$ 行,在第 $i$ 行有用空格分开的两个整数 $x_i,y_i$ ( $0\le x_i,y_i\le 10^9$ ),表示 $\textrm{lan}$ 第 $i$ 次会跳跃到 $(x_i,y_i)$。必须满足 $x_n=a,y_n=b$。
$\textrm{lan}$ 每次跳转后的位置不需要是不同的。
如果有多组解,输出任意一个。
说明/提示
In the first test case:

$ (0,0) \to (3,4) $
In the second test case:

$ (0,0) \to (3,2) \to (4,4) $
In the third test case:

$ (0,0) \to (5,3) \to (3,6) $