#include<bits/stdc++.h>
using namespace std;
map<string,int> snum1,cnum1;
map<int,string> snum2,cnum2;
bool check(string s){
string w;
int c=0,cnt=0;
for(int i=0;i<s.size();i++){
if(s[i]>='0'&&s[i]<='9') c=c*10+(int)(s[i]-'0');
else if(s[i]=='.'||s[i]==':'){
w+='.';
cnt++;
if(cnt==5&&c>65535) return false;
if(cnt<5&&c>255) return false;
c=0;
}
}
if(w!="....") return false;
return true;
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
string op,ad;
cin>>op>>ad;
if(op=="Server"){
if(check(ad) and snum1[ad]==0) {
snum1[ad]=i;
snum2[i]=ad;
cout<<"OK"<<endl;
}
else if(check(ad)&&snum1[ad]!=0) cout<<"FAIL"<<endl;
else if(check(ad)==false) cout<<"ERR"<<endl;
}
else {
if(check(ad)&&snum1[ad]!=0) cout<<snum1[ad]<<endl;
else if(check(ad)&&snum1[ad]==0) cout<<"FAIL"<<endl;
else if(check(ad)==false) cout<<"ERR"<<endl;
}
}
}