fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) fun findAns n k = let val numerator = List.foldl (fn (s, acc) => (LargeInt.fromInt s) + acc) (LargeInt.fromInt 0) (List.tabulate (n, fn i => (i + 1) * k)) val denominator = ((LargeInt.fromInt n) + (LargeInt.fromInt 1)) * (LargeInt.fromInt k) in (Real.fromLargeInt numerator) / (Real.fromLargeInt) denominator end val () = let val n = readInt () val k = readInt () val ans = findAns n k in print (Real.toString ans ^ "\n") end