fork(6) download
  1. def solve(n):
  2. d = 0
  3. while not (n&1):
  4. d += 1
  5. n //= 2
  6.  
  7. a = [2]*d
  8. a[-1] *= n
  9.  
  10. if d == 1:
  11. print("prime")
  12. return
  13.  
  14. for x in range(3, int(n**.5)+1, 2):
  15. if not (n%x):
  16. b = a[:]
  17. b[-1] //= x
  18. b[-2] *= x
  19. print("many")
  20. print(" ".join(map(str, a)))
  21. print(" ".join(map(str, b)))
  22. return
  23.  
  24. print("single")
  25. print(" ".join(map(str, a)))
  26.  
  27. from sys import stdin
  28.  
  29. for line in stdin:
  30. print("=== " + line.strip() + " ===")
  31. solve(int(line))
Success #stdin #stdout 0.01s 7308KB
stdin
2
4
6
8
10
30
34
60
68
128
666
760
44444
78787878
stdout
=== 2 ===
prime
=== 4 ===
single
2 2
=== 6 ===
prime
=== 8 ===
single
2 2 2
=== 10 ===
prime
=== 30 ===
prime
=== 34 ===
prime
=== 60 ===
many
2 30
6 10
=== 68 ===
single
2 34
=== 128 ===
single
2 2 2 2 2 2 2
=== 666 ===
prime
=== 760 ===
many
2 2 190
2 10 38
=== 44444 ===
many
2 22222
82 542
=== 78787878 ===
prime