class Main {
    static void main() {
    }
}

class A {
    int func() {
    }
    
    class A func1(class A a) {
    }
    
    class B func2(class B b) {
    }
    
    class A func3(class B b) {
    }
}

class B extends A {
    void func() {
    }
    
    class B func1(class B b) {
    }
    
    class A func2(class A a) {
    }
    
    class B func3(class A a) {
    }
}

class C1 extends C2 {
}

class C2 extends C1 {
}