CF1816A.Ian Visits Mary

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Ian Visits Mary

题目描述

lan\textrm{lan}Mary\textrm{Mary} 是生活在笛卡尔坐标系格点上的青蛙,lan\textrm{lan}(0,0)(0,0),而 Mary\textrm{Mary}(a,b)(a,b)

lan\textrm{lan} 想在 笛卡尔坐标系上跳来跳去去访问 Mary\textrm{Mary}。每一秒,他会从当前位置 (xp,yp)(x_p,y_p) 跳到整点 (xq,yq)(x_q,y_q),使得若用一条线段连接 (xp,yp)(x_p,y_p)(xq,yq)(x_q,y_q),没有整点在这条线段上。

lan\textrm{lan} 想尽快见到 Mary\textrm{Mary},所以他想用最多两次跳跃到 (a,b)(a,b)。不幸的是,lan\textrm{lan} 不太会数学,你能帮帮他吗?

整点被定义为 xx 坐标和 yy 坐标都是整数的点。

输入格式

第一行包含一个整数 tt ( 1t5001\le t\le 500 ),表示测试数据的数量。

对于每一个数据:

只有一行包含两个正整数 a,ba,b ( 1a,b1091\le a,b\le 10^9 ),含义如题面所示。

输出格式

对于每一个数据:

第一行是一个正整数 nn ( 1n21\le n\le 2 ),表示 lan\textrm{lan} 需要几次跳跃访问 Mary\textrm{Mary}注意:你不需要让 nn 最小。

下面是 nn 行,在第 ii 行有用空格分开的两个整数 xi,yix_i,y_i ( 0xi,yi1090\le x_i,y_i\le 10^9 ),表示 lan\textrm{lan}ii 次会跳跃到 (xi,yi)(x_i,y_i)。必须满足 xn=a,yn=bx_n=a,y_n=b

lan\textrm{lan} 每次跳转后的位置不需要是不同的。

如果有多组解,输出任意一个。

样例

8
3 4
4 4
3 6
2 2
1 1
7 3
2022 2023
1000000000 1000000000
1
3 4
2
3 2
4 4
2
5 3
3 6
2
1 0
2 2
1
1 1
1
7 3
1
2022 2023
2
69420420 469696969
1000000000 1000000000

在线编程 IDE

建议全屏模式获得最佳体验