/* 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
{
{
Outer o = new Outer();
Outer.Inner inner = o.create();
inner.operate();
}
}
class Outer {
public final class Inner {
private final Outer outer;
private Inner(Outer outer) {
this.outer = outer;
}
public void operate(){
outer.operateOn(this);
}
}
Inner create() {
return new Inner(this);
}
private void operateOn(Inner inner) {
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCQogICAgICAgIE91dGVyIG8gPSBuZXcgT3V0ZXIoKTsKICAgICAgICBPdXRlci5Jbm5lciBpbm5lciA9IG8uY3JlYXRlKCk7CiAgICAgICAgaW5uZXIub3BlcmF0ZSgpOwoJfQp9CgpjbGFzcyBPdXRlciB7CgogICAgcHVibGljIGZpbmFsIGNsYXNzIElubmVyIHsKCiAgICAgICAgcHJpdmF0ZSBmaW5hbCBPdXRlciBvdXRlcjsKCiAgICAgICAgcHJpdmF0ZSBJbm5lcihPdXRlciBvdXRlcikgewogICAgICAgICAgICB0aGlzLm91dGVyID0gb3V0ZXI7CiAgICAgICAgfQoKCiAgICAgICAgcHVibGljIHZvaWQgb3BlcmF0ZSgpewogICAgICAgICAgICBvdXRlci5vcGVyYXRlT24odGhpcyk7CiAgICAgICAgfQogICAgfQoKICAgIElubmVyIGNyZWF0ZSgpIHsKICAgICAgICByZXR1cm4gbmV3IElubmVyKHRoaXMpOwogICAgfQoKICAgIHByaXZhdGUgdm9pZCBvcGVyYXRlT24oSW5uZXIgaW5uZXIpIHsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oaW5uZXIpOwogICAgfQp9