perfect: procedure (n) returns (bit(1)); declare n fixed; declare sum fixed; declare i fixed binary; sum = 0; do i = 1 to n-1; if mod(n, i) = 0 then sum = sum + i; end; return (sum=n); end perfect;