public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String key;

        label:
        while (true){
            key = reader.readLine();
        //тут цикл по чтению ключей, пункт 1

            switch (key) {
                case "user":
                    Person user = new Person.User();
                    break;
                case "loser":
                    Person loser = new Person.Loser();
                    break;
                case "coder":
                    Person coder = new Person.Coder();
                    break;
                case "proger":
                    Person proger = new Person.Proger();
                    break;
                default:
                    break label;
            }
            //создаем объект, пункт 2

            doWork(null); //вызываем doWork

        }
    }

    public static void doWork(Person person) {
        {
            if ((person instanceof Person.User)) {
            Person.User user = (Person.User) person;
            user.live();
        }
            if (person instanceof Person.Loser){((Person.Loser) person).doNothing();}
            if (person instanceof Person.Coder){((Person.Coder) person).writeCode();}
            if (person instanceof Person.Proger){((Person.Proger) person).enjoy();}
        }
    }
}