-2N+1 Problem

Time Limit: 2000MS

Memory Limit: 65535KB

Description

fishhead和鱼儿子一起做游戏。
fishhead给鱼儿子出了大家所熟知的3N+1 problem,著名的克拉兹猜想。
fishhead给了鱼儿子两种转化:
(1)当这个数字n为偶数时,那么n就可以变换到n/2,即 n -> n/2;
(2)n可以变换到3*n+1,即 n -> 3n+1。


fishhead给鱼儿子的任务是,给定任意的一个正整数x,最后通过上面的两种变换,最后需要变化到1。
聪明的鱼儿子很快就解决了这个问题,他说当x为偶数的时候就执行变换(1),当x为奇数的时候就执行变换(2),重复执行最后会收敛到1。
fishhead觉得这个问题太明显太简单了,于是就出了下面这个问题。
fishhead给了鱼儿子三种转化:
(1)n可以变换到-2*n,即 n -> -2n;
(2)n可以变换到-2*n+1,即 n -> -2n+1;
(3)对于当前的变换m -> n,如果(n - m)%3 == 0,那么n可以变换到[n/3],即 n -> n/3(向下取整),特别地,对于第一次变换,可以无条件使用这条转化。


现在fishhead给了鱼儿子两个整数a和b,鱼儿子可以使用上述3种转化,需要把a转化到b,鱼儿子犯难了,于是向你求助,你能否替他解决呢?

Input

第一行输入一个T(T约为10000),表示有T组测试数据。
每组测试数据,输入2个整数a和b(a和b都在int范围内)。

Output

对于每组测试数据,给出一种可行变换,第一行先输出变换的次数N,下面N行,每行输出[1,3]之间的一个数字,表示转化的序号,注意不要输出多余的空格和空行。
我们保证给定的每组测试数据都是存在转化方式的,转化范围请在long long范围内转化。

Sample Input

2
4 1
10 -7

Sample Output

1
3
2
1
3

Hint

None

Source

None

提交代码