using System;
public class Program
{
public static void Main()
Middle x = new Child();
Console.WriteLine(x.f(1));
}
public class Base
public virtual string f(int a){
return "base";
public class Middle : Base
public new string f(int a){
return "middle";
public class Child : Middle
return "child";