class A {
    void m(A a) { System.out.println("a"); }
}

class B extends A {
    void m(B b) { System.out.println("b"); }
}

class Main {
    public static void main(String[] args) {
        A o = new B();
            o .m(   o);
        ((B)o).m(   o);
            o .m((B)o);
        ((B)o).m((B)o);
    }
}
