#include<iostream>
#include<cstdio>
#include<cstring>
#define rg register
using namespace std;
int n,cn=0;
long long a[1010][10],t[10],b[10];
char c[10],s[100];
inline int len(long long x)
{
if(x==0) return 1;
int l=0; long long temp=x;
while(temp)
{
temp/=10;
l++;
}
return l;
}
int main()
{
cin>>n; getchar();
for(rg int i=1;i<=n;i++)
{
scanf("%s %s",c+1,s+1);
int l=strlen(s+1),cnt=1; bool f=1;
s[l+1]='.'; b[1]=b[2]=b[3]=b[4]=b[5]=0;
for(rg int j=1;j<=l+1;j++)
{
if(s[j]=='.'||s[j]==':')
{
t[cnt]=j;
cnt++;
}
else b[cnt]=b[cnt]*10+s[j]-'0';
}
if(b[1]>255||b[2]>255||b[3]>255||b[4]>255||b[5]>65535) f=0;
if(f)
{
for(rg int j=2;j<=cnt;j++)
{
int x=j-1;
if(len(b[x])<t[x]-t[x-1]-1) f=0;
if(x<=3&&s[t[x]]!='.'||x==4&&s[t[x]]!=':') f=0;
if(f==0) break;
}
}
if(f)
{
if(c[1]=='S')
{
rg int j;
for(j=1;j<=cn;j++)
if(a[j][1]==b[1]&&a[j][2]==b[2]&&a[j][3]==b[3]&&a[j][4]==b[4]&&a[j][5]==b[5]) break;
if(j>cn)
{
puts("OK");
cn++;
a[cn][1]=b[1]; a[cn][2]=b[2]; a[cn][3]=b[3]; a[cn][4]=b[4]; a[cn][5]=b[5];
a[cn][6]=i;
}
else puts("FAIL");
}
if(c[1]=='C')
{
rg int j;
for(j=1;j<=cn;j++)
if(a[j][1]==b[1]&&a[j][2]==b[2]&&a[j][3]==b[3]&&a[j][4]==b[4]&&a[j][5]==b[5]) break;
if(j<=cn) printf("%lld\n",a[j][6]);
else puts("FAIL");
}
}
else puts("ERR");
}
return 0;
}
救救孩子阿巴阿巴阿巴