#include<bits/stdc++.h>
using namespace std;
char a[1005][35],b[1005][30];
int n,la=1,lb=1,ans[1005],anss=0;
bool check1(char c[],int lla){
int si=0,s2=1;
bool t1=0,t2=1,t3=0,t4=0;
for(int i=0;i<lla;i++){
if(t2&&c[i]=='0'&&(i+1!=lla&&!((c[i+1]=='.'&&s2<4)||(c[i+1]==':'&&s2==4)))){
t1=1;
printf("ERR\n");
return 1;
}
else if(c[i]>='0'&&c[i]<='9'){
t3=1;
si=si*10+c[i]-'0';
t2=0;
t4=1;
}
else if(((c[i]=='.'&&s2<4)||(c[i]==':'&&s2==4))&&t3) {
if(si>255){
t1=1;
printf("ERR\n");
return 1;
}
else {
t3=0;
si=0;
t2=1;
s2++;
t4=0;
}
}
else{
printf("ERR\n");
return 1;
}
}
if(si>65535||s2<4||t4==0)
{
printf("ERR\n");
return 1;
}
return 0;
}
bool check2(char c[],int lla){
for(int i=1;i<lb;i++){
bool t1=0;
int llb=strlen(b[i]);
if(llb!=lla) continue;
for(int j=0;j<lla;j++){
if(b[i][j]!=c[j]){
t1=1;
break;
}
}
if(t1==0) {
anss=ans[i];
return 1;
}
}
return 0;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
anss=0;
char c[10],c1;
cin>>c1;
scanf("%s",&c);
if(c[0]=='S'||c1=='S'){
scanf("%s",&b[lb]);
int lla=strlen(b[lb]);
if(check1(b[lb],lla)) {
continue;
}
if(check2(b[lb],lla)==1&&lb!=1){
printf("FAIL\n");
}else{
ans[lb]=i;
lb++;
printf("OK\n");
}
}else{
scanf("%s",&a[la]);
int lla=strlen(a[la]);
if(check1(a[la],lla)==1) {
continue;
}
if(check2(a[la],lla)==1){
printf("%d\n",anss);
}else{
printf("FAIL\n");
}
}
}
return 0;
}