public class Solution { public static void main(String[] args) throws Exception { //напишите тут ваш код BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); while(true){ String x = reader.readLine(); if(x.equals("")) break; System.out.println((CatFactory.getCatByKey(x)).toString()); } } public static class CatFactory { public static Cat getCatByKey(String key) { Cat cat = null; if ("vaska".equals(key)) { cat = new MaleCat("Василий"); } else if ("murka".equals(key)) { cat = new FemaleCat("Мурочка"); } else if ("kiska".equals(key)) { cat = new FemaleCat("Кисюлька"); } else { cat = new Cat(key); } return cat; } } static class Cat { private String name; protected Cat(String name) { this.name = name; } public String getName() { return this.name; } public String toString() { return "Я уличный кот " + getName(); } } static class MaleCat extends Cat { MaleCat(String name) { super(name); } public String toString() { return "Я - солидный кошак по имени " + getName(); } } static class FemaleCat extends Cat { FemaleCat(String name) { super(name); } public String toString() { return "Я - милая кошечка по имени " + getName(); } } }