#include <bits/stdc++.h>
using namespace std;
int n;
string name,ip;
map<string,int > server;
bool is_ip(string s) {
string a,b,c,d,e;
int pos = 1,na = 0,nb = 0,nc = 0,nd = 0,ne = 0,j = 0;
for(int i = 0;i < (int)s.size();i++) {
if(pos <= 3 && s[i] == '.' ) {
pos++;
continue;
}
else if(pos <= 3 && s[i] == ':') {
return false;
}
else if(pos == 4 && s[i] == ':'){
pos++;
continue;
}
else if(pos == 4 && s[i] == '.') {
return false;
}
if(pos == 1) {
a += s[i];
}
if(pos == 2) {
b += s[i];
}
if(pos == 3) {
c += s[i];
}
if(pos == 4) {
d += s[i];
}
if(pos == 5) {
e += s[i];
}
}
if(a.size() > 1 && a[0] == '0' || b.size() > 1 && b[0] == '0' || c.size() > 1 && c[0] == '0' || d.size() > 1 && d[0] == '0' || e.size() > 1 && e[0] == '0'||a.size() == 0 || b.size() == 0 || c.size() == 0 || d.size() == 0 || e.size() == 0) {
return false;
}
for(int i = (int)a.size() - 1;i >= 0;i--,j++)
{
na += (a[i] - '0') * pow(10,j);
}
j = 0;
for(int i = (int)b.size() - 1;i >= 0;i--,j++)
{
nb += (b[i] - '0') * pow(10,j);
}
j = 0;
for(int i = (int)c.size() - 1;i >= 0;i--,j++)
{
nc += (c[i] - '0') * pow(10,j);
}
j = 0;
for(int i = (int)d.size() - 1;i >= 0;i--,j++)
{
nd += (d[i] - '0') * pow(10,j);
}
j = 0;
for(int i = (int)e.size() - 1;i >= 0;i--,j++)
{
ne += (e[i] - '0') * pow(10,j);
}
return (na <= 255 && nb <= 255 && nc <= 255 && nd <= 255 && ne <= 65535 && pos == 5);
}
int main() {
freopen("P7911_13.in","r",stdin);
freopen("66.out","w",stdout);
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin >> n;
for(int i = 1;i <= n;i++) {
cin >> name >> ip;
if(name == "Server")
{
if(is_ip(ip)) {
if(server[ip] != 0) {
cout << "FAIL\n";
}
else {
server[ip] = i;
cout << "OK\n";
}
}
else {
cout << "ERR\n";
}
}
else {
if(is_ip(ip)) {
if(server[ip] != 0) {
cout << server[ip] << "\n";
}
else {
cout << "FAIL\n";
}
}
else {
cout << "ERR\n";
}
}
}
return 0;
}