open System open System.Text.RegularExpressions let ri () = stdin.ReadLine() |> int let ria () = stdin.ReadLine().Split() |> Array.map int type Sol() = member this.Solve() = let okMsg = "CORRECT (maybe)" let ngMsg = "WRONG!" let judgeWords (s :string) = let ss = s.Split() match (ss.[0] ,s) with | ("digi",_ ) when Regex.Match(s,"[nN][yY][oO]\W{0,3}$").Success -> okMsg | ("petit",_ ) when Regex.Match(s,"[nN][yY][uU]\W{0,3}$").Success -> okMsg | ("rabi",_ ) when Regex.Match(s,"\w").Success -> okMsg | ("gema",_ ) when Regex.Match(s,"[gG][eE][mM][aA]\W{0,3}$").Success -> okMsg | ("piyo",_ ) when Regex.Match(s,"[pP][yY][oO]\W{0,3}$").Success -> okMsg | (_,_ ) -> ngMsg let mutable chk = true let mutable input :string = "" while chk do input <- stdin.ReadLine() chk <- String.IsNullOrEmpty(input) |> not if chk then input |> judgeWords |> printfn "%s" let mySol = new Sol() mySol.Solve()