class Main{
public static void main
(String[] args
){ System.
out.
printf("He has a/an %s.",
new Imaginary(new Wife()));
}
static private abstract class Person{}
static private class Imaginary extends Person{
private Person p;
public Imaginary(Person p){this.p=p;}
public String toString
(){return "Imaginary " + p.
toString();} }
static private class Wife extends Person{
public Wife(){}
public String toString
(){return "Wife";} }
}
Y2xhc3MgTWFpbnsKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKXsKICAgIFN5c3RlbS5vdXQucHJpbnRmKCJIZSBoYXMgYS9hbiAlcy4iLAogICAgICBuZXcgSW1hZ2luYXJ5KG5ldyBXaWZlKCkpKTsKICB9CgogIHN0YXRpYyBwcml2YXRlIGFic3RyYWN0IGNsYXNzIFBlcnNvbnt9CgogIHN0YXRpYyBwcml2YXRlIGNsYXNzIEltYWdpbmFyeSBleHRlbmRzIFBlcnNvbnsKICAgIHByaXZhdGUgUGVyc29uIHA7CiAgICBwdWJsaWMgSW1hZ2luYXJ5KFBlcnNvbiBwKXt0aGlzLnA9cDt9CiAgICBwdWJsaWMgU3RyaW5nIHRvU3RyaW5nKCl7cmV0dXJuICJJbWFnaW5hcnkgIiArIHAudG9TdHJpbmcoKTt9CiAgfQogIHN0YXRpYyBwcml2YXRlIGNsYXNzIFdpZmUgZXh0ZW5kcyBQZXJzb257CiAgICBwdWJsaWMgV2lmZSgpe30KICAgIHB1YmxpYyBTdHJpbmcgdG9TdHJpbmcoKXtyZXR1cm4gIldpZmUiO30KICB9Cn0=