#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++){
        if(strcmp(users[i].username,username)==0){
        printf("Username already exists!\n");
        return;
       }
    }
strcpy(users[count].username,username);
users[count].passwordhash=hashpassword(password);
count++;
printf("Registered successfully!\n");

}
void loginuser(char username[],char password[]){
    int hash=hash password(password);
    for(int i=0;i<count;i++){
        if(strcmp(users[i].username,username)==0){
                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;
}