using System;
public class Test
{
public static void Main()
{
Console.WriteLine(f(new Nullable<bool>()));
Console.WriteLine(f(new Nullable<bool>(true)));
Console.WriteLine(f(new Nullable<bool>(false)));
}
private static string f(bool? arg)
{
switch (arg)
{
case true: return "true";
case false: return "false";
case null: return "null";
default: return "???";
}
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewogICAgICAgIAlDb25zb2xlLldyaXRlTGluZShmKG5ldyBOdWxsYWJsZTxib29sPigpKSk7CiAgICAgICAgCUNvbnNvbGUuV3JpdGVMaW5lKGYobmV3IE51bGxhYmxlPGJvb2w+KHRydWUpKSk7CiAgICAgICAgCUNvbnNvbGUuV3JpdGVMaW5lKGYobmV3IE51bGxhYmxlPGJvb2w+KGZhbHNlKSkpOwoJfQogICAgICAgIHByaXZhdGUgc3RhdGljIHN0cmluZyBmKGJvb2w/IGFyZykKICAgICAgICB7CiAgICAgICAgICAgIHN3aXRjaCAoYXJnKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjYXNlIHRydWU6IHJldHVybiAidHJ1ZSI7CiAgICAgICAgICAgICAgICBjYXNlIGZhbHNlOiByZXR1cm4gImZhbHNlIjsKICAgICAgICAgICAgICAgIGNhc2UgbnVsbDogcmV0dXJuICJudWxsIjsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAiPz8/IjsKICAgICAgICAgICAgfQogICAgICAgIH0KIAp9