What will be the output of below Java code?

Example Code: 

public class A
{
    public static void m1()
    {
        System.out.println("A")
    }
}

public class B extend A
{
    public static void m1()
    {
        System.out.println("B");
    }
}

public class C extends B
{
    public static void m1()
    {
        System.out.println("C");
    }
}

public class Test
{
    public void main(String args[])
    {
        C c = new C();
        c.m1();           //Line :- 1
       (B)c.m1();        //Line :-2
       (A)(B)c.m1();   //Line :- 3
    }
}

Output
Line 1:- C
Line 2:- B
Line 3:- A

Note:- Because in the method hiding concept, Method resolution is based on a compile-time object reference.