Class foo {
static int d ( Func<int,int> g )
{
return g(g(1));
}
static int p (int x)
{
Func<int,int> f = y => x + y;
return d (f);
}
public static void Main(string[] args) {
Console.WriteLine(d(3));
}
}
Q2xhc3MgZm9vIHsKCXN0YXRpYyBpbnQgZCAoIEZ1bmM8aW50LGludD4gZyApIAoJeyAKCSAgICByZXR1cm4gZyhnKDEpKTsgICAgICAgICAgICAgIAoJfQoJCglzdGF0aWMgaW50IHAgKGludCB4KSAKCXsKCSAgICBGdW5jPGludCxpbnQ+IGYgPSB5ID0+IHggKyB5OwoJICAgIHJldHVybiBkIChmKTsgICAgICAgICAgICAgICAgCgl9CgoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oc3RyaW5nW10gYXJncykgewoJCUNvbnNvbGUuV3JpdGVMaW5lKGQoMykpOwoJfQp9Cgo=