Jaś

Jaś ma pewną liczbę A i Jaś chce policzyć sobie A^n (A do potęgi n), ale Jaś nie lubi mnożyć, więc kombinuję, aby mnożyć jak najmniej. Np. aby policzyć A^15 wystarczy 5 mnożeń. Kolejno dostaniemy:

A
A^2 = A*A,
A^3 = A^2*A
A^5 = A^2*A^3
A^10 = A^5*A^5
A^15 = A^10*A^5

Napisz program, który wczyta ze standardowego wejścia (z klawiatury) liczbę naturalną n (max. 2000) i wypisze na standardowe wyjście (ekran) minimalną liczbę mnożeń, które Jaś musi wykonać oraz ciąg kolejno otrzymywanych wykładników.

Przykład. Dla danych wejściowych:

15

jednym z poprawnych wyników jest właśnie:

5
1 2 3 5 10 15