CF1816A Ian Visits Mary

Description

Ian and Mary are frogs living on lattice points of the Cartesian coordinate plane, with Ian living on $ (0,0) $ and Mary living on $ (a,b) $ . Ian would like to visit Mary by jumping around the Cartesian coordinate plane. Every second, he jumps from his current position $ (x_p, y_p) $ to another lattice point $ (x_q, y_q) $ , such that no lattice point other than $ (x_p, y_p) $ and $ (x_q, y_q) $ lies on the segment between point $ (x_p, y_p) $ and point $ (x_q, y_q) $ . As Ian wants to meet Mary as soon as possible, he wants to jump towards point $ (a,b) $ using at most $ 2 $ jumps. Unfortunately, Ian is not good at maths. Can you help him? A lattice point is defined as a point with both the $ x $ -coordinate and $ y $ -coordinate being integers.

Input Format

The first line contains a single integer $ t $ ( $ 1 \le t \le 500 $ ) — the number of test cases. The description of test cases follows. The first and only line of each test case contains two integers $ a $ and $ b $ ( $ 1\le a,b\le 10^9 $ ) — the coordinates of the lattice point where Mary lives.

Output Format

For each test case, print an integer $ n $ ( $ 1 \le n \le 2 $ ) on the first line, denoting the number of jumps Ian uses in order to meet Mary. Note that you do not need to minimize the number of jumps. On the $ i $ -th line of the next $ n $ lines, print two integers $ 0 \le x_i,y_i \le 10^9 $ separated by a space, denoting Ian's location $ (x_i,y_i) $ after the $ i $ -th jump. $ x_n = a $ , $ y_n = b $ must hold. Ian's initial location and his locations after each of the $ n $ jumps need not be distinct. If there are multiple solutions, output any.

Explanation/Hint

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) $