proc lagarias(int n) int: int f, r, s; if n<0 then -lagarias(-n) elif n<2 then 0 else s := 0; r := n; while r % 2 = 0 do r := r / 2; s := s + n / 2 od; f := 3; while f <= r do while r % f = 0 do r := r / f; s := s + n / f od; f := f + 2 od; s fi corp proc main() void: int n; for n from -99 upto 100 do write(lagarias(n):7); if (n+100) % 10=0 then writeln() fi od corp