## Collatz SequenceProblem #48 |

This is one of the most mysterious math problems of the last century - both because its statement is extremely simple - and because the proof is still unknown. However it offers good programming exercise for beginners.

**Suppose** we select some initial number `X`

and then build the sequence of values by the following rules:

```
if X is even (i.e. X modulo 2 = 0) then
Xnext = X / 2
else
Xnext = 3 * X + 1
```

I.e. if `X`

is odd, sequence grows - and if it is even, sequence decreases. For example, with `X = 15`

we have sequence:

```
15 46 23 70 35 106 53 160 80 40 20 10 5 16 8 4 2 1
```

After the sequence reaches `1`

it enters the loop `1 4 2 1 4 2 1...`

.

The intrigue is in the fact that any starting number `X`

gives the sequence which sooner or later reaches `1`

- however
though this `Collatz Conjecture`

was expressed in `1937`

, up to now no one could find a proof that it is really so for
any `X`

or could not find a counterexample (i.e. number for which sequence did not end with `1`

- either entering some
bigger loop or growing infinitely).

**Your task** is for given numbers to calculate how many steps are necessary to come to `1`

.

**Input data** contains number of test-cases in the first line.

Second line contains the test-cases - i.e. the values for which calculations should be performed.

**Answer** should contain the same amount of results, each of them being the count of steps for getting Collatz
Sequence to `1`

.

For example:

```
input data:
3
2 15 97
answer:
1 17 118
```

You need to login to get test data and submit solution.