# -*- coding: utf-8 -*-
# from : https://programmers.co.kr/learn/courses/30/lessons/42888?language=python3

ENTER = 'Enter'
ENTER_KOREAN = '들어왔습니다'
LEAVE = 'Leave'
LEAVE_KOREAN = '나갔습니다'
CHANGE = 'Change'

def solution(record):
  idWithAction = []
  idWithNickname = {}
  for sentence in record:
    log = resolve(sentence)
    idWithAction.append((log['uid'], log['action']))
    if log['nickname'] != None:
      idWithNickname[log['uid']] = log['nickname']
  
  answer = []
  for log in idWithAction:
    uid = log[0]
    nickname = idWithNickname[uid]
    action = log[1]
    if action == ENTER:
      action = ENTER_KOREAN
    elif action == LEAVE:
      action = LEAVE_KOREAN
    else:
      action = None
    
    if action is not None:
      answer.append(nickname+'님이'+' '+action+'.')
  
  return answer
  
def resolve(sentence):
  arr = sentence.split()
  action = arr[0]
  nickname = None
  if action == ENTER or action == CHANGE:
    nickname = arr[2]
  result = {
    'uid': arr[1],
    'nickname': nickname,
    'action': arr[0]
  }
  return result


t1 = ["Enter uid1234 Muzi", "Enter uid4567 Prodo","Leave uid1234","Enter uid1234 Prodo","Change uid4567 Ryan"]
print(solution(t1)) # ["Prodo님이 들어왔습니다.", "Ryan님이 들어왔습니다.", "Prodo님이 나갔습니다.", "Prodo님이 들어왔습니다."]