var ans: int :: 1 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 do factNums.forEach(f, null) do cui@print("\{@ans}\n") func f(key: int, value: int, c: kuin@Class): bool if(value = 1) do @ans :* (key + 1) else do @ans :* (key ^ (value + 1) - 1) / (key - 1) end if ret true end func end func