Note that replicateM n k = sequence (replicate n k), so this solution is equivalent to Henk-Jan van Tuyl's original solution.

On Fri, Mar 11, 2016 at 1:48 PM Rein Henrichs <rein.henrichs@gmail.com> wrote:
That is an unnecessary use of unsafeInterleaveIO. The solution is actually quite simple:

    getLines n = replicateM n getLine