#include<bits/stdc++.h>
#define int long long
using namespace std;
map<string,int>mp;
int n;
string a;
char b[1005];
bool judge(char x[]){
int sum[6],k=1;
char xx[1005];
bool f=1;
int t=sscanf(x,"%d.%d.%d.%d:%d",&sum[1],&sum[2],&sum[3],&sum[4],&sum[5]);
if(t!=5) return 0;
for(int i=1;i<5;i++){
if(sum[i]>255||sum[i]<0){
return 0;
}
}
if(sum[5]>65535||sum[5]<0)return 0;
sprintf(xx,"%d.%d.%d.%d:%d",sum[1],sum[2],sum[3],sum[4],sum[5]);
for(int i=0;i<strlen(xx);i++){
if(xx[i]!=x[i]){
f=0;
break;
}
}
return f;
}
main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a>>b;
if(!judge(b)){
cout<<"ERR";
if(i!=n)cout<<'\n';
continue;
}
if(a=="Server"){
if(mp[b]){
cout<<"FAIL";
}
else{
cout<<"OK";
mp[b]=i;
}
}
else{
if(mp[b]){
cout<<mp[b];
}
else{
cout<<"FAIL";
}
}
if(i!=n)cout<<'\n';
}
return 0;
}