#include<bits/stdc++.h>
using namespace std;
map<string,int>v;
int n;
string s,x;
bool check(string x){
int cnt1=0,ok=0,p=0,cnt2=0;
if(x[0]=='.'||x[0]==':')return false;
for(int i=0;i<x.size();i++){
if(x[i]==':')cnt2++;
else if(x[i]=='.')cnt1++;
if(cnt2&&cnt1<3)return false;
if(x[i]>='0'&&x[i]<='9')p=p*10+(x[i]-'0');
else {
if(p>255)return false;
p=0;
}
if((i==0||x[i-1]=='.')&&x[i]=='0'&&(x[i+1]>='0'&&x[i+1]<='9'))return false;
}
if(p>65536)return false;
if(cnt1!=3||cnt2!=1)return false;
if(cnt1==3&&cnt2==1)return true;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>s>>x;
if(s=="Server"){
if(!check(x))cout<<"ERR"<<endl;
else{
if(v[x]==0){
cout<<"OK"<<endl;
v[x]=i;
}
else cout<<"FAIL"<<endl;
}
}
else{
if(!check(x))cout<<"ERR"<<endl;
else{
if(v[x]==0)cout<<"FAIL"<<endl;
else cout<<v[x]<<endl;
}
}
}
return 0;
}