#include<bits/stdc++.h>
using namespace std;
map<string,long long> f;
bool check(string s){
int len=s.length();
int d=0,m=0;
for(int i=0;i<len;i++){
if(s[i]=='.') d++;
if(s[i]==':') m++;
if(d>3||m>1) return false;
if(i==0&&s[i]=='0'&&s[i+1]!='.') return false;
if(s[i-1]=='.'&&s[i]=='0'&&s[i+1]!='.'&&s[i+1]!=':') return false;
if(s[i-1]==':'&&s[i]=='0'&&i!=len-1) return false;
}
if(d!=3||m!=1) return false;
long long x=0;
for(int i=0;i<len;i++){
if(s[i]!='.'&&s[i]!=':'&&(s[i]<'0'||s[i]>'9')) return false;
if(s[i]!='.'&&s[i]!=':') x=x*10+(s[i]-48);
else{
if(x>255) return false;
x=0;
}
}
if(x>65535) return false;
return true;
}
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
string a,b;
cin>>a>>b;
if(a=="Server"){
bool ls=check(b);
if(ls==true&&f[b]==0){
printf("OK\n");
f[b]=i;
}
else if(ls==false) printf("ERR\n");
else printf("FAIL\n");
}
else{
bool ls=check(b);
if(ls==true&&f[b]!=0) printf("%lld\n",f[b]);
else if(ls==false) printf("ERR\n");
else printf("FAIL\n");
}
}
return 0;
}