Những con đường về không


Submit solution

Points: 3 (partial)
Time limit: 3.0s
Java 10 5.0s
Memory limit: 977M

Author:
Problem types
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Số nguyên dương n nếu phân tích thành tích hai số tự nhiên \(a * b (a \le b)\) thì nó sẽ sinh ra số tự nhiên \(m = (a-1)*(b+1)\) cứ tiếp tục như vậy nếu \(m > 0\) nó tiếp tục sinh ra số tiếp theo. Bài toán đặt ra cho số n nguyên dương nó sẽ sinh ra các con và các con lại tiếp tục sinh ra các cháu ... cứ như vậy tới khi sinh ra tới các số \(0\) thì sẽ tạo thành một cây.

Nam đang học thuật toán duyệt DFS và BFS để tìm ra tất cả các số mà sinh ra bởi số \(n\) cho trước nhưng chưa biết cài đặt như thế nào bạn hãy giúp Nam nhé.

Ví dụ: Với \(m= 12\) ta có cây được sinh ra như sau:

enter image description here

Input

Một số tự nhiên \(n\) \((1 \le n \le 10000)\).

Output

Liệt kê các giá trị sinh ra được từ \(n\) theo thứ tự tăng dần.

Ví dụ

Input

12

Output

0 3 4 6 7 10 12

Ví dụ 2

Input

18

Output

0 3 4 5 6 8 10 14 18
tichpx

Comments

There are no comments at the moment.