import java.util.ArrayDeque; public class Mono { String name = ""; public Mono(String name){ this.name = name; } @Override public String toString(){ return name; } } class Momo extends Mono { Momo(){ super("桃"); } Momotaro bornMomotaro(){ return new Momotaro(); //桃太郎が生まれる } } class Kibidango extends Mono { Kibidango(){ super("きび団子"); } } class Fukuro extends Mono { ArrayDeque<Mono> fukuro; Fukuro(){ super("きび団子が入った袋"); fukuro = new ArrayDeque<Mono>(); } public void add(Mono mono){ fukuro.add(mono); } public Mono pop(){ return fukuro.pop(); } public int size(){ return fukuro.size(); } }