#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 aleady 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=hashpassword(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;
}