public class Solution { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String grandpaName = reader.readLine(); Cat catGrandpa = new Cat(grandpaName); // дедушка String grandmaName = reader.readLine(); Cat catGrandma = new Cat(grandmaName); // бабушка String fatherName = reader.readLine(); Cat catFather = new Cat(fatherName, null, catGrandpa); // папа String motherName = reader.readLine(); Cat catMother = new Cat(motherName, catGrandma, null); // мама String sonName = reader.readLine(); Cat catSon = new Cat(sonName, catMother, catFather); // сын String daughterName = reader.readLine(); Cat catDaughter = new Cat(daughterName, catMother, catFather); // дочь System.out.println(catGrandpa); System.out.println(catGrandma); System.out.println(catFather); System.out.println(catMother); System.out.println(catSon); System.out.println(catDaughter); } public static class Cat { private String name; private Cat mother; private Cat father; Cat(String name) { this.name = name; } Cat(String name, Cat mother, Cat father) { this.name = name; this.mother = mother; this.father = father; } @Override public String toString() { if (mother == null && father == null) return "Cat name is " + name + ", no mother"+", no father"; else if (mother != null && father == null) { return "Cat name is " + name + ", mother is " + mother.name + ", no father"; }else if (mother == null && father != null){ return "Cat name is " + name + ", no mother" + ", father is "+father.name; }else { return "Cat name is " + name + ", mother is " + mother.name + ", father is "+father.name; } } } }