#include<stdio.h>
#include<string.h>
#define MAX 100
typedef struct {
    char username[21];
    int passwordHash;
}user;
user users[MAX];
int count=0;
int hashpassword (char password[]){
    int hash=0;
    for(int i=0;password[i];"!=\0";i++){
        hash = (hash+password[i])%1000;
    }
    return hash;
}
void registeruser(char username[],char password[]){
    for(int i=0;i<count;i++){
        printf("username already exists!\n");
        return;
    }
}
strcpy(user[count].username,username);
users[count].passwordHash=hashpassword(password);
count++;
printf("Registered succesfully!\n");

}
void loginuser(char username[],char password[]){
    int hash=hashpassword(password);
    for(int i=0;i<count;i++){
        if(strcmp(users[i].username,username)==0){
            if(users[i].passwordHash==hash){
                printf("Login successful!\n");
                return;
            }else{
                printf("Login failed!\n");
                return;
            }
        }
    }
    printf("Login failed!\n");
}
int main(){
    int n;
    scanf("%d",&n);
    if(n<0){
        printf("Invalid input\n");
        return 0;
    }
    for(int i=0;i<n;i++){
        char op[10],username[21],password[21];
        scanf("%s %s %s",op,username,password);
        if(strcmp(op,"REGISTER")==0){
            registeruser(username,password);
        }else if(strcmp(op,"LOGIN")==0){
            loginuser(username,password);
        }
    }
    return 0;
}