using System;
public class Test
{
public static void Main()
{
Func<int, int> f = null;
f = i => i <= 0 ? 1 : i*f(i - 1);
Console.WriteLine(f(5));
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewogICAgICAgIEZ1bmM8aW50LCBpbnQ+IGYgPSBudWxsOwogICAgICAgIGYgPSBpID0+IGkgPD0gMCA/IDEgOiBpKmYoaSAtIDEpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKGYoNSkpOwoJfQp9