fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) fun printAns m ls = let val table = Array.array (m + 1, 0) in ( List.app (fn l => if 0 < l andalso l <= m then Array.update (table, l, Array.sub (table, l) + 1) else ignore () ) ls; Array.appi (fn (index, count) => if index = 0 then ignore () else print (Int.toString index ^ " " ^ Int.toString count ^ "\n")) table ) end val () = let val n = readInt () val m = readInt () val ls = List.tabulate (n, fn _ => readInt ()) in printAns m ls end