[perfect number] Using bits to avoid exceeds the maximum of the type