#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char str[50];
int a,b,c,d,e;
bool isUse1[300][300];
bool isUse2[300][300];
bool isUse3[70000];
int qwe[100010];
int cmp;
int main(){
int n;cin>>n;
cmp=n;
cin.get();
while(n--){
cin.getline(str,50);
if(str[0]=='S'){
bool isOk=true;
int len=strlen(str);
int sum=0;
int num=0;
int k=0;
int dian=0,maohao=0;
a=b=c=d=e=0;
for(int i=7;i<len;i++){
if(!((str[i]>='0'&&str[i]<='9')||(str[i]=='.')||(str[i])==':')){
cout<<"ERR";
isOk=false;
break;
}
if(str[i]=='.'||str[i]==':'){
if(str[i]=='.')dian++;
else maohao++;
num++;
if((num==1&&sum>255)||(num==2&&sum>255)||(num==3&&sum>255)||(num==4&&sum>255)){
cout<<"ERR"<<endl;
isOk=false;
break;
}
if(num==1)a=sum;
if(num==2)b=sum;
if(num==3)c=sum;
if(num==4)d=sum;
sum=0;
}else if(i==len-1){
sum=sum*10+(str[i]-'0');
num++;
if(sum>65536){
cout<<"ERR"<<endl;
isOk=false;
break;
}
e=sum;
}
else{
if(k>1&&str[i]=='0'){
cout<<"ERR"<<endl;
isOk=false;
break;
}
else if(str[i]=='0'){
k++;
}
sum=sum*10+(str[i]-'0');
}
}
if(dian!=3||maohao!=1){
cout<<"ERR"<<endl;
isOk=false;
}
if(isUse1[a][b]==false||isUse2[c][d]==false||isUse3[e]==false){
isUse1[a][b]=true;
isUse2[c][d]=true;
isUse3[e]=true;
}else{
isOk=false;
cout<<"FAIL"<<endl;
}
if(isOk==true){
cout<<"OK"<<endl;
qwe[a+b+c+d+e]=cmp-n;
}
}else if(str[0]=='C'){
bool isOk=true;
int len=strlen(str);
int sum=0;
int num=0;
int k=0;
int dian=0,maohao=0;
a=b=c=d=e=0;
for(int i=7;i<len;i++){
if(str[i]=='.'||str[i]==':'){
if(str[i]=='.')dian++;
else maohao++;
num++;
if((num==1&&sum>255)||(num==2&&sum>255)||(num==3&&sum>255)||(num==4&&sum>255)){
cout<<"ERR"<<endl;
isOk=false;
break;
}
if(num==1)a=sum;
if(num==2)b=sum;
if(num==3)c=sum;
if(num==4)d=sum;
sum=0;
}else if(i==len-1){
sum=sum*10+(str[i]-'0');
num++;
e=sum;
if(sum>65536){
cout<<"ERR"<<endl;
isOk=false;
break;
}
}
else{
if(k>1&&str[i]=='0'){
cout<<"ERR"<<endl;
isOk=false;
break;
}
else if(str[i]=='0'){
k++;
}
sum=sum*10+(str[i]-'0');
}
}
if(isOk==true){
if(dian!=3||maohao!=1){
cout<<"ERR"<<endl;
}
else if(isUse1[a][b]==true&&isUse2[c][d]==true&&isUse3[e]==true){
cout<<qwe[a+b+c+d+e]<<endl;
}else{
cout<<"FAIL"<<endl;
}
}
}else cout<<"ERR";
}
return 0;
}