CF1837A.Grasshopper on a Line

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

Grasshopper on a Line

You are given two integers xx and kk. Grasshopper starts in a point 00 on an OX axis. In one move, it can jump some integer distance, that is not divisible by kk, to the left or to the right.

What's the smallest number of moves it takes the grasshopper to reach point xx? What are these moves? If there are multiple answers, print any of them.

Input

The first line contains a single integer tt (1t10001 \le t \le 1000) — the number of testcases.

The only line of each testcase contains two integers xx and kk (1x1001 \le x \le 100; 2k1002 \le k \le 100) — the endpoint and the constraint on the jumps, respectively.

Output

For each testcase, in the first line, print a single integer nn — the smallest number of moves it takes the grasshopper to reach point xx.

In the second line, print nn integers, each of them not divisible by kk. A positive integer would mean jumping to the right, a negative integer would mean jumping to the left. The endpoint after the jumps should be exactly xx.

Each jump distance should be from 109-10^9 to 10910^9. In can be shown that, for any solution with the smallest number of jumps, there exists a solution with the same number of jumps such that each jump is from 109-10^9 to 10910^9.

It can be shown that the answer always exists under the given constraints. If there are multiple answers, print any of them.

Samples

3
10 2
10 3
3 4
2
7 3
1
10
1
3

在线编程 IDE

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