#include<bits/stdc++.h>
using namespace std;
int s,n,t;
int main()
{
cin>>t;
while(t--)
{
cin>>n;
if(n==1) s=0;//排除n等于1的情况
else s=1;
for(int i=2;i<=n/i;i++)//因为排除了i=1所以i的起始变成了2,但n的因数不能包括本身所以最大的约数就是本身除以最小的约数
if(!(n%i))
{
s+=i;
if(n/i!=i) s+=n/i;//n/i可能=i
}
if(s-n) cout<<n<<" is not perfect"<<endl;
else cout<<n<<" is perfect"<<endl;
}
return 0;
}