#include<bits/stdc++.h>
using namespace std;
int n,ac=0,bc=0;
string a[1010][7],b[1010][7];
bool xxx(string s){
int x=0,ss=1,len=s.size()-1;
while(len>1&&s[len--]==0){
return true;
}
len=s.size()-1;
for(int i=0;i<=len;i++){
x+=ss*s[i];
ss*=10;
}
if(ss>255) return true;
return false;
}
bool xxxx(string s){
int x=0,ss=1,len=s.size()-1;
while(len>1&&s[len--]==0){
return true;
}
len=s.size()-1;
for(int i=0;i<=len;i++){
x+=ss*s[i];
ss*=10;
}
if(ss>65535) return true;
return false;
}
int main(){
cin>>n;
while(n--){
string s,aa,bb,c,d,e;
char x,y,z,u;
cin>>s>>aa>>x>>bb>>y>>c>>z>>d>>u>>e;
if(x!='.'||y!='.'||z!='.'||u!=':'){
cout<<"ERR\n";
continue;
}
if(xxx(aa)||xxx(bb)||xxx(c)||xxx(d)||xxxx(e)){
cout<<"ERR\n";
continue;
}
if(s=="Server"){
int dsfffffsfdsfsdfdsfdsfds=0;
for(int i=1;i<=ac;i++){
if(a[i][1]==s&&a[i][2]==aa&&a[i][3]==bb&&a[i][4]==c&&a[i][5]==d&&a[i][6]==e){
dsfffffsfdsfsdfdsfdsfds=1;
break;
}
}
if(dsfffffsfdsfsdfdsfdsfds==1){
cout<<"FAIL";
continue;
}
a[++ac][1]=s;
a[ac][2]=aa;
a[ac][2]=bb;
a[ac][2]=c;
a[ac][2]=d;
a[ac][2]=e;
cout<<"OK\n";
}else{
int dsfffffsfdsfsdfdsfdsfds=0;
for(int i=1;i<=bc;i++){
if(b[i][1]==s&&b[i][2]==aa&&b[i][3]==bb&&b[i][4]==c&&b[i][5]==d&&b[i][6]==e){
dsfffffsfdsfsdfdsfdsfds=1;
break;
}
}
if(dsfffffsfdsfsdfdsfdsfds==1){
cout<<"FAIL";
continue;
}
int flag=0,x;
for(int i=1;i<=ac;i++){
if(a[i][1]==s&&a[i][2]==aa&&a[i][3]==bb&&a[i][4]==c&&a[i][5]==d&&a[i][6]==e){
flag=1;
x=i;
break;
}
}
if(flag==1){
cout<<x<<'\n';
b[++bc][1]=s;
b[bc][2]=aa;
b[bc][2]=bb;
b[bc][2]=c;
b[bc][2]=d;
b[bc][2]=e;
}else cout<<"FAIL\n";
}
}
return 0;
}