let rec formatEqual format argument =
let sFormat = format.ToString()
let sArgument = argument.ToString()
match sFormat with
| "" -> sArgument.Equals("")
| s -> match sFormat.Chars(0) with
// | "?"
// | "*"
| c -> sFormat.Chars(0).Equals(sArgument.Chars(0)) && formatEqual sFormat.[1..] sArgument.[1..]
let format = System.Console.ReadLine()
let name = System.Console.ReadLine()
let res = formatEqual format name
printfn "%b" res
bGV0IHJlYyBmb3JtYXRFcXVhbCBmb3JtYXQgYXJndW1lbnQgPSAKIGxldCBzRm9ybWF0ID0gZm9ybWF0LlRvU3RyaW5nKCkKIGxldCBzQXJndW1lbnQgPSBhcmd1bWVudC5Ub1N0cmluZygpCgogbWF0Y2ggc0Zvcm1hdCB3aXRoIAogICAgfCAiIiAtPiBzQXJndW1lbnQuRXF1YWxzKCIiKQogICAgfCBzIC0+IG1hdGNoIHNGb3JtYXQuQ2hhcnMoMCkgd2l0aAogICAgICAgLy8gfCAiPyIgCiAgICAgICAvLyB8ICIqIgogICAgICAgIHwgYyAtPiBzRm9ybWF0LkNoYXJzKDApLkVxdWFscyhzQXJndW1lbnQuQ2hhcnMoMCkpICYmIGZvcm1hdEVxdWFsIHNGb3JtYXQuWzEuLl0gc0FyZ3VtZW50LlsxLi5dCgpsZXQgZm9ybWF0ID0gU3lzdGVtLkNvbnNvbGUuUmVhZExpbmUoKQpsZXQgbmFtZSA9IFN5c3RlbS5Db25zb2xlLlJlYWRMaW5lKCkKbGV0IHJlcyA9IGZvcm1hdEVxdWFsIGZvcm1hdCBuYW1lCgpwcmludGZuICIlYiIgcmVz