RT
#include<bits/stdc++.h>
#define int long long
using namespace std;
int a1;
int b1;
int c1;
int d1;
int e1;
int na;
string S[1020];
int u[1020];
signed main()
{
int n;
cin>>n;
for(int i=1;i<=n;++i)
{
a1=0;
b1=0;
c1=0;
d1=0;
e1=0;
char fa;
char fb;
char fc;
char fd;
string a;
string b;
string c;
string d;
string e;
string cc,s;
cin>>cc>>s;
int siz=s.size();
int cs=0;
int w=0;
string t;
for(int j=0;j<siz;++j)
{
if(s[j]=='.'||s[j]==':')
{
++w;
if(w==1)
{
fa=s[j];
a=t;
}
if(w==2)
{
fb=s[j];
b=t;
}
if(w==3)
{
fc=s[j];
c=t;
}
if(w==4)
{
cs=-1;
fd=s[j];
d=t;
}
t="";
}
else
t+=s[j];
}
e=t;
++cs;
if(fa!='.') ++cs;
if(fb!='.') ++cs;
if(fc!='.') ++cs;
if(fd!=':') ++cs;
siz=a.size();
if(siz>3)
++cs;
if(siz>1&&a[0]=='0')
++cs;
for(int j=0;j<siz;++j)
{
if(a[j]<'0'||a[j]>'9')
++cs;
a1+=a[j]-'0';
a1*=10;
}
a1/=10;
siz=b.size();
if(siz>3)
++cs;
if(siz>1&&b[0]=='0')
++cs;
for(int j=0;j<siz;++j)
{
if(b[j]<'0'||b[j]>'9')
++cs;
b1+=b[j]-'0';
b1*=10;
}
b1/=10;
siz=c.size();
if(siz>3)
++cs;
if(siz>1&&c[0]=='0')
++cs;
for(int j=0;j<siz;++j)
{
if(c[j]<'0'||c[j]>'9')
++cs;
c1+=c[j]-'0';
c1*=10;
}
c1/=10;
siz=d.size();
if(siz>3)
++cs;
if(siz>1&&d[0]=='0')
++cs;
for(int j=0;j<siz;++j)
{
if(d[j]<'0'||d[j]>'9')
++cs;
d1+=d[j]-'0';
d1*=10;
}
d1/=10;
siz=e.size();
if(siz>5)
++cs;
if(siz>1&&e[0]=='0')
++cs;
for(int j=0;j<siz;++j)
{
if(e[j]<'0'||e[j]>'9')
++cs;
e1+=e[j]-'0';
e1*=10;
}
e1/=10;
if(a1<0||a1>255||b1<0||b1>255||c1<0||c1>255||d1<0||d1>255||e1<0||e1>65535)
++cs;
if(cs==0)
{
if(cc=="Server")
{
int f=0;
int j;
for(j=1;j<=na;++j)
{
if(s==S[j])
{
f=1;
break;
}
}
if(f==0)
{
++na;
S[na]=s;
u[na]=i;
cout<<"OK"<<endl;
}
else
cout<<"FAIL"<<endl;
}
else
{
int f=0;
for(int j=1;j<=na;++j)
if(S[j]==s)
{
f=1;
cout<<u[j]<<endl;
break;
}
if(f==0)
cout<<"FAIL"<<endl;
}
}
else
cout<<"ERR"<<endl;
}
return 0;
}