using System;
public class Test
{
public static void Main()
{
var c = new C();
c.MethodOne();
}
}
public class A
{
public virtual void MethodOne()
{
Console.WriteLine( "A" );
}
}
public class B : A
{
public override void MethodOne()
{
base.MethodOne();
Console.WriteLine( "B" );
}
}
public class C : B
{
public override void MethodOne()
{
base.MethodOne();
Console.WriteLine( "C" );
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBjID0gbmV3IEMoKTsKICAgIAljLk1ldGhvZE9uZSgpOwoJfQp9CgpwdWJsaWMgY2xhc3MgQQp7CiAgICBwdWJsaWMgdmlydHVhbCB2b2lkIE1ldGhvZE9uZSgpCiAgICB7CiAgICAgICBDb25zb2xlLldyaXRlTGluZSggIkEiICk7IAogICAgfQp9CgpwdWJsaWMgY2xhc3MgQiA6IEEKewogICAgcHVibGljIG92ZXJyaWRlIHZvaWQgTWV0aG9kT25lKCkKICAgIHsKICAgICAgICBiYXNlLk1ldGhvZE9uZSgpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCAiQiIgKTsKICAgIH0KfQoKcHVibGljIGNsYXNzIEMgOiBCCnsKICAgIHB1YmxpYyBvdmVycmlkZSB2b2lkIE1ldGhvZE9uZSgpCiAgICB7CiAgICAgICAgYmFzZS5NZXRob2RPbmUoKTsKICAgICAgICBDb25zb2xlLldyaXRlTGluZSggIkMiICk7CiAgICB9Cn0=