// C++ program to check if a given number is perfect
// or not
#include<iostream>
using namespace std;
// Returns true if n is perfect
bool isPerfect(long long int n)
{
// To store sum of divisors
long long int sum = 1;
// Find all divisors and add them
for (long long int i=2; i*i<=n; i++)
{
if (n%i==0)
{
if(i*i!=n)
sum = sum + i + n/i;
else
sum=sum+i;
}
}
// If sum of divisors is equal to
// n, then n is a perfect number
if (sum == n && n != 1)
return true;
return false;
}
// Driver program
int main()
{
int n; cin>>n;
if (isPerfect(n))
cout <<"Perfect"<<endl;
else cout<<"Not Perfect"<<endl;
return 0;
}
Ly8gQysrIHByb2dyYW0gdG8gY2hlY2sgaWYgYSBnaXZlbiBudW1iZXIgaXMgcGVyZmVjdAovLyBvciBub3QKI2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKLy8gUmV0dXJucyB0cnVlIGlmIG4gaXMgcGVyZmVjdApib29sIGlzUGVyZmVjdChsb25nIGxvbmcgaW50IG4pCnsKICAgIC8vIFRvIHN0b3JlIHN1bSBvZiBkaXZpc29ycwogICAgbG9uZyBsb25nIGludCBzdW0gPSAxOwogIAogICAgLy8gRmluZCBhbGwgZGl2aXNvcnMgYW5kIGFkZCB0aGVtCiAgICBmb3IgKGxvbmcgbG9uZyBpbnQgaT0yOyBpKmk8PW47IGkrKykKICAgIHsKICAgICAgICBpZiAobiVpPT0wKQogICAgICAgIHsKICAgICAgICAgICAgaWYoaSppIT1uKQogICAgICAgICAgICAgICAgc3VtID0gc3VtICsgaSArIG4vaTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgc3VtPXN1bStpOwogICAgICAgIH0KICAgIH0KICAgICAvLyBJZiBzdW0gb2YgZGl2aXNvcnMgaXMgZXF1YWwgdG8KICAgICAvLyBuLCB0aGVuIG4gaXMgYSBwZXJmZWN0IG51bWJlcgogICAgIGlmIChzdW0gPT0gbiAmJiBuICE9IDEpCiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAKICAgICByZXR1cm4gZmFsc2U7Cn0KICAKLy8gRHJpdmVyIHByb2dyYW0KaW50IG1haW4oKQp7CQoJaW50IG47IGNpbj4+bjsgCglpZiAoaXNQZXJmZWN0KG4pKQogICAgICAgICAgICBjb3V0IDw8IlBlcmZlY3QiPDxlbmRsOyAKICAgIGVsc2UgY291dDw8Ik5vdCBQZXJmZWN0Ijw8ZW5kbDsgCiAgICAKICAgIHJldHVybiAwOwp9