/* 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
{
{
Doable d = new ConcreteImpl();
d.doStuff();
}
}
interface Doable {
void doStuff();
}
abstract class BaseImpl implements Doable {
@Override
public void doStuff() {
doOtherStuff();
}
protected abstract void doOtherStuff();
}
class ConcreteImpl extends BaseImpl {
@Override
public void doOtherStuff() {
System.
out.
println("Raise ur dongers"); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCURvYWJsZSBkID0gbmV3IENvbmNyZXRlSW1wbCgpOwogICAgICAgIGQuZG9TdHVmZigpOwogIAoJfQp9CgppbnRlcmZhY2UgRG9hYmxlIHsKICAgIHZvaWQgZG9TdHVmZigpOwp9CgphYnN0cmFjdCBjbGFzcyBCYXNlSW1wbCBpbXBsZW1lbnRzIERvYWJsZSB7CiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyB2b2lkIGRvU3R1ZmYoKSB7CiAgICAgICAgZG9PdGhlclN0dWZmKCk7CiAgICB9CiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgdm9pZCBkb090aGVyU3R1ZmYoKTsKfQoKY2xhc3MgQ29uY3JldGVJbXBsIGV4dGVuZHMgQmFzZUltcGwgewogICAgQE92ZXJyaWRlCiAgICBwdWJsaWMgdm9pZCBkb090aGVyU3R1ZmYoKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJSYWlzZSB1ciBkb25nZXJzIik7CiAgICB9Cn0K