#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
string s1[1001],s2[1001];
bool hefa(string x){
int a[10],l=1,l1=1,last=-1,len=x.size();
memset(a,0,sizeof(a));
for(int i=0;i<len;i++)
{
if(x[i]!='.'&&x[i]!=':'){
if(last==0||x[i]-'0'==0) return 0;
else{
a[l]=a[l]*10+(x[i]-'0');
last=x[i]-'0';
}
}
else
{
if(x[i]=='.'){
if(l1==4) return 0;
else{
l++;
l1++;
}
}
else if(x[i]==':'){
if(l1!=4) return 0;
else{
l++;
l1++;
}
}
}
}
if(a[1]>255) return 0;
if(a[2]>255) return 0;
if(a[3]>255) return 0;
if(a[4]>255) return 0;
if(a[5]>65535) return 0;
return 1;
}
signed main(){
cin>>n;
for(int i=0;i<n;i++) cin>>s1[i]>>s2[i];
for(int i=0;i<n;i++){
if(hefa(s2[i])){
if(s1[i]=="Server"){
bool flag=0;
for(int j=0;j<n;j++){
if(s1[j]=="Client"||j==i) continue;
else if(s2[i]==s2[j]){
flag=1;
cout<<"FALL"<<endl;
break;
}
}
if(!flag) cout<<"OK"<<endl;
}
else{
bool flag=0;
for(int j=0;j<n;j++){
if(s1[j]=="Server")
{
if(s2[i]==s2[j]){
flag=1;
cout<<j<<endl;
break;
}
}
}
if(!flag) cout<<"FALL"<<endl;
}
}
else cout<<"ERR"<<endl;
}
return 0;
}