#include<bits/stdc++.h>
using namespace std;
int n;
string pd;//判断他是服务机还是客户机(的字符串)
string a[1005],b[1005];//a是服务机发送的字符串,b是客户机发的字符串
int aaa[1005],bbb[1005];//编号
int aa=0,bb=0;//a/b的第几个
bool hegui(string k)//判断是否合规
{
unsigned long long sum=0,s2=0,s3=0;
for(int i=0;i<k.size();i++)
{
if(!(k[i]>='0'&&k[i]<='9')&&k[i]!='.'&&k[i]!=':')return false;
if(k[i]>='0'&&k[i]<='9')
{
sum=sum*10+k[i]-'0';
if(sum==0)
{
if(i==k.size()-1)break;
if(k[i+1]>='0'&&k[i+1]<='9')return false;
}
}
else
{
s2++;
if(i==k.size()-1)return false;
if(i==0)return false;
if(!(k[i-1]>='0'&&k[i-1]<='9'))return false;
if(s2>4)return false;
if(s2<4&&k[i]==':')return false;
if(s2==4&&k[i]=='.')return false;
if(sum>255||sum<0)return false;
sum=0;
}
}
// if(s3!=4)return false;
if(sum>65535||sum<0)return false;
return true;
}
int main()
{
// freopen("network3.in","r",stdin);
// freopen("network3.ans","w",stdout);
cin>>n;
// cout<<hegui("3.3.3:2.3")<<" "<<hegui("2.2.2.2:-1")<<" "<<hegui("-1.0.0.0:2")<<' '<<hegui("0.0.0.0:0");
// cout<<hegui("3.2.3.:44");
// cout<<" "<<hegui(".3.3.3:2");
// cout<<" "<<hegui("3.3.3.2:");
for(int i=1;i<=n;i++)
{
cin>>pd;
if(pd=="Server")
{
cin>>a[aa+1];
aa++;
aaa[aa]=i;
if(!hegui(a[aa]))
{
cout<<"ERR\n";
continue;
}
bool s=true;
for(int j=1;j<aa;j++)
{
if(a[j]==a[aa])
{
s=false;
cout<<"FAIL\n";
break;
}
}
if(!s)continue;
cout<<"OK\n";
}
else
{
cin>>b[bb+1];
bb++;
bbb[bb]=i;
if(!hegui(b[bb]))
{
cout<<"ERR\n";
continue;
}
bool s=true;
for(int j=1;j<=aa;j++)
{
if(a[j]==b[bb])
{
cout<<aaa[j]<<"\n";
s=false;
break;
}
}
if(!s)continue;
cout<<"FAIL\n";
}
}
return 0;
}