func main() var n: int :: cui@inputInt() var factors: []int :: math@primeFactors(n) var factNums: dict :: #dict for i(0, ^factors - 1) do factNums.add(factors[i], factNums.get(factors[i], &) + 1) end for var ans: lib@Int :: #lib@Int do ans.value :: 1 do factNums.forEach(f, ans) do cui@print("\{ans.value}\n") func f(key: int, value: int, ans: kuin@Class): bool var res: int :: 0 for i(0, value) do res :+ key ^ i end for do(ans $ lib@Int).value :* res ret true end func end func