#include<iostream>
using namespace std;
int main(){
int n,m;
cin>>n;
while(n--!=0){
cin>>m;
int sum=0;
for(int i=1;i*i<m;i++){
if(m%i==0) sum=sum+i+m/i;
}
if(sum-m==m) cout<<m<<" is perfect"<<endl;
else cout<<m<<" is not perfect"<<endl;
}
return 0;
}
循环时所有数字循环会超出时间,所以把i平方一下或者把m开方,在判断相等的时候,要减去自身的数字