/* 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
{
{
new Human();
}
}
abstract class Plant {
public abstract String getName
(); }
interface Eatable { }
class Apple extends Plant implements Eatable {
@Override
return "Apple";
}
}
class Rose extends Plant {
@Override
return "Rose";
}
}
interface Animal {
<T extends Plant & Eatable> void eat(T plant);
}
class Human implements Animal {
@Override
public void eat(Plant plant) {
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCW5ldyBIdW1hbigpOwoJfQp9CgphYnN0cmFjdCBjbGFzcyBQbGFudCB7CiAgICBwdWJsaWMgYWJzdHJhY3QgU3RyaW5nIGdldE5hbWUoKTsKfQoKaW50ZXJmYWNlIEVhdGFibGUgeyB9CgpjbGFzcyBBcHBsZSBleHRlbmRzIFBsYW50IGltcGxlbWVudHMgRWF0YWJsZSB7CiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyBTdHJpbmcgZ2V0TmFtZSgpIHsKICAgICAgICByZXR1cm4gIkFwcGxlIjsKICAgIH0KfQoKY2xhc3MgUm9zZSBleHRlbmRzIFBsYW50IHsKICAgIEBPdmVycmlkZQogICAgcHVibGljIFN0cmluZyBnZXROYW1lKCkgewogICAgICAgIHJldHVybiAiUm9zZSI7CiAgICB9Cn0KCmludGVyZmFjZSBBbmltYWwgewogICAgPFQgZXh0ZW5kcyBQbGFudCAmIEVhdGFibGU+IHZvaWQgZWF0KFQgcGxhbnQpOwp9CgpjbGFzcyBIdW1hbiBpbXBsZW1lbnRzIEFuaW1hbCB7CiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyB2b2lkIGVhdChQbGFudCBwbGFudCkgewogICAgfQp9