#include<bits/stdc++.h>
using namespace std;
int n;
map<string,int> r;
int point[100000];
int check(string s){
if(s[0]=='0') return 0;
int cnt=0;
for(int i=1;i<=10000;i++) point[i]=0;
for(int i=0;i<s.size();i++){
if(s[i]=='.'||s[i]==':'){
cnt++;
point[cnt]=i;
}
}
for(int i=1;i<=cnt;i++){
if(s[point[i]+1]=='0'){
return 0;
}
}
for(int i=1;i<=cnt;i++){
if(i==1){
int sum=0;
for(int j=0;j<point[i];j++){
sum=sum*10+s[j]-'0';
}
if(sum<0||sum>255) return 0;
sum=0;
continue;
}
else if(i!=1&&i<=cnt-1){
int sum=0;
for(int j=point[i-1]+1;j<point[i];j++){
sum=sum*10+s[j]-'0';
}
if(sum<0||sum>255) return 0;
sum=0;
continue;
}
else if(i==cnt){
int sum=0;
for(int j=point[i]+1;j<s.size();j++){
sum=sum*10+s[j]-'0';
}
if(sum<0||sum>65535) return 0;
}
}
int flag=0;
for(int i=1;i<=cnt-1;i++){
if(s[point[i]]==':') return 0;
else continue;
}
if(s[point[cnt]]=='.') return 0;
int sum1=0,sum2=0;
for(int i=0;i<s.size();i++){
if(s[i]=='.') sum1++;
else if(s[i]==':') sum2++;
}
if(sum1==3&&sum2==1) return 1;
else return 0;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
string a,b;
cin>>a>>b;
if(a=="Server"){
if(check(b)==0)
{
cout<<"ERR"<<endl;
continue;
}
if(r[b]==0){
r[b]=i;
cout<<"OK"<<endl;
}
else if(r[b]!=0) cout<<"FAIL"<<endl;
}
else if(a=="Client"){
if(check(b)==0)
{
cout<<"ERR"<<endl;
continue;
}
else if(check(b)){
if(r[b]!=0){
cout<<r[b]<<endl;
}
else if(r[b]==0) cout<<"FAIL"<<endl;
}
}
}
}