import java.util.*;
import java.lang.*;
class Main {
public static void main
(String[] args
) { FooBar.getFooBar().foo();
}
}
class FooBar implements Foo, Bar {
public static <T extends Foo & Bar> T getFooBar(){
return (T) new FooBar();
}
@Override
public void bar() {
System.
out.
println("FooBar.foo()"); }
@Override
public void foo() {
System.
out.
println("FooBar.bar()"); }
}
interface Foo {
void foo();
}
interface Bar {
void bar();
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CgpjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBGb29CYXIuZ2V0Rm9vQmFyKCkuZm9vKCk7CiAgICB9Cn0KCmNsYXNzIEZvb0JhciBpbXBsZW1lbnRzIEZvbywgQmFyIHsKICAgIHB1YmxpYyBzdGF0aWMgPFQgZXh0ZW5kcyBGb28gJiBCYXI+IFQgZ2V0Rm9vQmFyKCl7CiAgICAgICAgcmV0dXJuIChUKSBuZXcgRm9vQmFyKCk7CiAgICB9CgogICAgQE92ZXJyaWRlCiAgICBwdWJsaWMgdm9pZCBiYXIoKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJGb29CYXIuZm9vKCkiKTsKICAgIH0KCiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyB2b2lkIGZvbygpIHsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkZvb0Jhci5iYXIoKSIpOwogICAgfQp9CgppbnRlcmZhY2UgRm9vIHsKICAgIHZvaWQgZm9vKCk7Cn0KCmludGVyZmFjZSBCYXIgewogICAgdm9pZCBiYXIoKTsKfQ==