//a007: 判斷質數
#include <iostream>
using namespace std;
bool p[50001]; //陣列 //bool => ture&false
int a, x, m;
inline void yn(){ //內嵌函數
for(x=0; x<50001; x++){
if(p[x] && (a%x==0 && a!=x) ){
cout<<"非質數";
return;
}
}
cout<<"質數";
}
int main(){
for(x=0; x<50001; x++){
p[x]=true;
}
p[0]=false; //沒有0
p[1]=false; //沒有1
for(x=0; x<=250; x++){
if(p[x]){
m=2;
do{
p[x*m]=false;
m++;
}
while(x*m<50001);
p[x]=true;
}
}
while(cin>>a){
yn();
cout << endl;
}
return 0;
}