#include<bits/stdc++.h>
using namespace std;
map<string,int> mp;
char c[110];
int z[110];
bool f(string s){
memset(c,0,sizeof(c));
long long l=s.size(),k=0,p=0,d=0,m=0,j=0;
for(int i=0;i<l;i++){
if(s[i]=='-') return 0;
else if(s[i]>='0'&&s[i]<='9'){
if(s[i]=='0'&&k==0&&s[i+1]>='0'&&s[i+1]<'9') return 0;
k=k*10+s[i]-'0';
}
else if(s[i]=='.'||s[i]==':'){
z[++j]=k;
k=0;
c[++p]=s[i];
if(s[i]=='.') d++;
if(s[i]==':') m++;
}
else return 0;
}
z[++j]=k;
if(d!=3||m!=1) return 0;
if(c[p]!=':') return 0;
if(z[j]<0||z[j]>65535) return 0;
for(int i=1;i<j;i++) if(z[i]<0||z[i]>255) return 0;
return 1;
}
int main(){
int n;
cin>>n;
for(int _=1;_<=n;_++){
string a,b;
cin>>a>>b;
if(!f(b)){
cout<<"ERR\n";
continue;
}
if(a=="Server"){
if(mp[b]) cout<<"FAIL\n";
else{
mp[b]=_;
cout<<"OK\n";
}
}
if(a=="Client"){
if(!mp[b]) cout<<"FAIL\n";
else cout<<mp[b]<<'\n';
}
}
}