let ``No.24 数当てゲーム``()= let mutable sNo = Set.empty let mutable sYs = Set.empty let mutable mYs = Map.empty let N = stdin.ReadLine() |> int let (|YES|NO|) arg = if (string arg) = "YES" then YES else NO for i in [1..N] do stdin.ReadLine().Split(' ') |> fun args -> match (args.[4]) with | NO -> for i in [0..3] do sNo <- sNo.Add( args.[i] |> int ) | YES-> for i in [0..3] do let ct = 1 + if args.[i]|> int |> mYs.ContainsKey then mYs.[args.[i]|>int] else 0 mYs <- mYs.Add( args.[i]|>int, ct ) match sNo |> Set.contains (args.[i] |> int) with | true -> () | _ -> sYs <- sYs.Add( args.[i] |> int ) match sYs.Count, sNo.Count with | 0 , _ -> 45 - ( sNo |> Set.toList |> List.sum ) |> stdout.WriteLine | _ , _ -> Set.difference sYs sNo |> Set.toList |> List.maxBy (fun n -> mYs.[n] ) |> stdout.WriteLine ``No.24 数当てゲーム``()