CSES - Weird Algorithm | Thuật toán lạ

View as PDF



Authors:
Problem types
Points: 800 (p) Time limit: 1.0s Memory limit: 512M Input: stdin Output: stdout

Consider an algorithm that takes as input a positive integer \(n\). If \(n\) is even, the algorithm divides it by two, and if \(n\) is odd, the algorithm multiplies it by three and adds one. The algorithm repeats this, until \(n\) is one. For example, the sequence for \(n=3\) is as follows:

\[3 \rightarrow 10 \rightarrow 5 \rightarrow 16 \rightarrow 8 \rightarrow 4 \rightarrow 2 \rightarrow 1\]

Your task is to simulate the execution of the algorithm for a given value of \(n\).

Input

  • The only input line contains an integer \(n\).

Output

  • Print a line that contains all values of \(n\) during the algorithm.

Constraints

  • ~1 \le n \le 10^6~

Example

Sample input

3

Sample output
3 10 5 16 8 4 2 1


Comments (20)

Most recent
Loading comments...