#include<bits/stdc++.h>
using namespace std;
int n;
int pos[6];
int num[6];
int lenp=1;
int cnt1=0,cnt2=0;
string op,ad;
int fs=0;
string server[1010];
int to_int(string s,int id)
{
if(s[0]=='0' && s!="0")
{
return -1;
}
int ans=0;
for(int i=0; i<s.size(); i++)
{
ans=ans*10+(int)(s[i]-'0');
}
if(id<5)
{
return ((ans>=0 && ans<=255)? ans:-1);
}
else
{
return ((ans>=0 && ans<=65535)? ans:-1);
}
}
int main()
{
cin>>n;
int f4=0;
for(int p=1; p<=n; p++)
{
cin>>op>>ad;
for(int i=0; i<ad.size(); i++)
{
if(ad[i]=='.')
{
pos[lenp]=i;
lenp++;
cnt1++;
}
else if(ad[i]==':')
{
pos[lenp]=i;
lenp++;
cnt2++;
}
if(lenp>5)
{
cout<<"ERR"<<endl;
f4=1;
break;
}
}
if(f4==1)
{
lenp=1;
cnt1=0,cnt2=0;
continue;
}
if(lenp<5 || cnt1!=3 || cnt2!=1 || ad[pos[4]]!=':')
{
cout<<"ERR"<<endl;
lenp=1;
cnt1=0,cnt2=0;
continue;
}
pos[0]=-1,pos[5]=ad.size();
for(int i=1; i<=5; i++)
{
num[i]=to_int(ad.substr(pos[i-1]+1,pos[i]-pos[i-1]-1),i);
}
if(op=="Server")
{
if(num[1]==-1 || num[2]==-1 || num[3]==-1 || num[4]==-1 || num[5]==-1)
{
cout<<"ERR"<<endl;
}
else
{
int f=0;
for(int i=1; i<=p; i++)
{
if(server[i]==ad)
{
f=1;
}
}
if(f==1 && fs==1)
{
cout<<"FAIL"<<endl;
}
else if(f==0 || fs==0)
{
cout<<"OK"<<endl;
server[p]=ad;
fs=1;
}
}
}
else
{
if(num[1]==-1 || num[2]==-1 || num[3]==-1 || num[4]==-1 || num[5]==-1)
{
cout<<"ERR"<<endl;
}
else
{
int f=0;
for(int i=1; i<=p; i++)
{
if(server[i]==ad)
{
cout<<i<<endl;
f=1;
break;
}
}
if(f==0)
{
cout<<"FAIL"<<endl;
}
}
}
lenp=1;
cnt1=0,cnt2=0;
}
return 0;
}