/* 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
{
public interface Interface
{
{
return this.toString() + ":"+this.getClass().getSimpleName();
}
}
public enum Enum1 implements Interface
{
A, B, C, D;
}
public enum Enum2 implements Interface
{
A, B, C, D, E, F;
}
public static <T extends Enum<T> & Interface> void test(T t)
{
System.
out.
println(t.
getValue()); }
public static void main
(String[] args
) {
test(Enum1.A);
test(Enum1.C);
test(Enum2.B);
test(Enum2.E);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsgICAKCXB1YmxpYyBpbnRlcmZhY2UgSW50ZXJmYWNlCiAgICB7CiAgICAgICAgZGVmYXVsdCBTdHJpbmcgZ2V0VmFsdWUoKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9TdHJpbmcoKSArICI6Iit0aGlzLmdldENsYXNzKCkuZ2V0U2ltcGxlTmFtZSgpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZW51bSBFbnVtMSBpbXBsZW1lbnRzIEludGVyZmFjZQogICAgewogICAgICAgIEEsIEIsIEMsIEQ7CiAgICB9CiAgICBwdWJsaWMgZW51bSBFbnVtMiBpbXBsZW1lbnRzIEludGVyZmFjZQogICAgewogICAgICAgIEEsIEIsIEMsIEQsIEUsIEY7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyAgPFQgZXh0ZW5kcyBFbnVtPFQ+ICYgSW50ZXJmYWNlPiB2b2lkIHRlc3QoVCB0KQogICAgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbih0LmdldFZhbHVlKCkpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpCiAgICB7CiAgICAgICAgdGVzdChFbnVtMS5BKTsKICAgICAgICB0ZXN0KEVudW0xLkMpOwogICAgICAgIHRlc3QoRW51bTIuQik7CiAgICAgICAgdGVzdChFbnVtMi5FKTsKICAgIH0KfQ==