Every positive integer N can be written in at least one way as a sum of terms of the form (2a)(3b) where no term in the sum exactly divides any other term in the sum. For example:
1 = (20)(30)
7 = (22)(30) + (20)(31)
31 = (24)(30) + (20)(32) + (21)(31) = (22) + (33)
Note from the example of 31 that the representation is not unique.
Write a program which takes as input a positive integer N and outputs a representation of N as a sum of terms of the form (2a)(3b).
Input
The first line of input contains a single integer C, (1 <= C <= 1000) which is the number of datasets that follow.
Each dataset consists of a single line of input containing a single integer N, (1 <= N < 231), which is the number to be represented as a sum of terms of the form (2a)(3b).
Output
For each dataset, the output will be a single line consisting of: The dataset number, a single space, the number of terms in your sum as a decimal integer followed by a single space followed by representations of the terms in the form [,] with terms separated by a single space. is the power of 2 in the term and is the power of 3 in the term.
Sample Input
6
1
7
31
7776
531441
123456789
Sample Output
1 1 [0,0]
2 2 [2,0] [0,1]
3 3 [4,0] [0,2] [1,1]
4 1 [5,5]
5 1 [0,12]
6 8 [3,13] [4,12] [2,15] [7,8] [9,6] [0,16] [10,5] [15,2]