/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
interface Named {}
interface Tree {}
static class Impl implements Named, Tree {}
static <T
extends Tree
& Named
> T getNamedTree
(Class
<T
> c
) throws Exception { return c.newInstance();
}
{
Object namedTree
= getNamedTree
(Impl.
class); Tree asTree = (Tree)namedTree;
Named asNamed = (Named)namedTree;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCWludGVyZmFjZSBOYW1lZCB7fQoJaW50ZXJmYWNlIFRyZWUge30KCXN0YXRpYyBjbGFzcyBJbXBsIGltcGxlbWVudHMgTmFtZWQsIFRyZWUge30KCXN0YXRpYyA8VCBleHRlbmRzIFRyZWUgJiBOYW1lZD4gVCBnZXROYW1lZFRyZWUoQ2xhc3M8VD4gYykgdGhyb3dzIEV4Y2VwdGlvbiB7CgkJcmV0dXJuIGMubmV3SW5zdGFuY2UoKTsKCX0KCgoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CiAgICBPYmplY3QgbmFtZWRUcmVlID0gZ2V0TmFtZWRUcmVlKEltcGwuY2xhc3MpOwogICAgVHJlZSBhc1RyZWUgPSAoVHJlZSluYW1lZFRyZWU7CiAgICBOYW1lZCBhc05hbWVkID0gKE5hbWVkKW5hbWVkVHJlZTsKICAgIH0KfQ==