class A { final static A INS = new A(); private B b; private A(){b = B.INS;} B getB(){return b;} public static void main(String[] args) { System.out.println(A.INS.getB().getC().getA().toString()); } }
class B { final static B INS = new B(); private C c; private B(){c = C.INS;} C getC(){return c;} }
class C { final static C INS = new C(); private A a; private C(){a = A.INS;} A getA(){return a;} }