#include<bits/stdc++.h>
#define int long long
using namespace std;
bool op(string m){
int n = m.size();
int sum1 = 0, mh = -1, df = 1;
for(int i = 0; i < n; i++){
if(m[i] == '.' && df)sum1++;
if(m[i] == ':'){
if(mh == -1){
mh = i;
df = 0;
}else{
return 0;
}
}
}
if(sum1 != 3 || mh == -1){
return 0;
}
for(int i = 0; i < n; i++){
if(m[i] == '.' && m[i + 1] == '.'){
return 0;
}
}
string gh[10005];
int lengh = 0, x[10005];
x[0] = 0;
for(int i = 0; i < n; i++){
if(m[i] == '.' || m[i] == ':'){
// cout << endl;
lengh++;
x[lengh] = 0;
continue;
}
gh[lengh][x[lengh]] = m[i];
// cout << gh[lengh][x[lengh]] << ' ' << lengh << ' ' << x[lengh] << endl;
x[lengh]++;
}lengh++;
// cout << endl;
// cout << gh[0].size() << ' ' << gh[0][0] << endl;
for(int i = 0; i < lengh - 1; i++){
long long r = 0;
if(x[i] == 0){
return 0;
}
if(gh[i][0] == '0' && x[i] > 1){
return 0;
}
for(int j = 0; j < x[i]; j++){
r *= 10;
r += gh[i][j] - '0';
}
if(r < 0 || r > 255){
return 0;
}
}
long long r = 0;
if(gh[lengh - 1][0] == '0' && x[lengh - 1] > 1){
return 0;
}
for(int j = 0; j < x[lengh - 1]; j++){
r *= 10;
r += gh[lengh - 1][j] - '0';
}
if(r < 0 || r > 65535){
return 0;
}
if(m[m.size() - 1] == ':'){
return 0;
}
return 1;
}
struct N{
int gh;
string s;
};
vector<N> Server;
bool find_Server(string s, int gh){
for(int i = 0; i < Server.size(); i++){
if(Server[i].s == s){
return 0;
}
}
N r;
r.gh = gh;
r.s = s;
Server.push_back(r);
return 1;
}
int Client(string s){
for(int i = 0; i < Server.size(); i++){
if(Server[i].s == s){
return Server[i].gh;
}
}
return 0;
}
signed main(){
// freopen("network.in", "r", stdin);
// freopen("network.out", "w", stdout);
int n;
cin >> n;
for(int i = 1; i <= n; i++){
string s1, s2;
cin >> s1 >> s2;
if(s1 == "Server"){
if(op(s2)){
if(find_Server(s2, i)){
cout << "OK" << endl;
}else{
cout << "FAIL" << endl;
}
}else{
cout << "ERR" << endl;
}
}else{
if(op(s2)){
int qwq = Client(s2);
if(qwq){
cout << qwq << endl;
}else{
cout << "FAIL" << endl;
}
}else{
cout << "ERR" << endl;
}
}
}
return 0;
}
/*
5
Server 101.101.1.101:65535
*/
12-13,18-20 WA 16-17 RE 其余AC