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: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1816A/7f33abd00d526ffaeea8e4d3c101d5177c138947.png) $ (0,0) \to (3,4) $ In the second test case: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1816A/577a06cfefe0531c32a45b390d77d0693528c842.png) $ (0,0) \to (3,2) \to (4,4) $ In the third test case: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1816A/657d3f3136c48035420c8d1a7eecdfe06cc7f59d.png) $ (0,0) \to (5,3) \to (3,6) $