fun readChar () = valOf (TextIO.scanStream Char.scan TextIO.stdIn) exception BadInput val () = let val s = readChar () val ans = case s of #"A" => "A#" | #"C" => "C#" | #"D" => "D#" | #"F" => "F#" | #"G" => "G#" | #"E" => "F" | #"B" => "C" | _ => raise BadInput in print (ans ^ "\n") end