Eso es con el split, que me alegro de que lo uses ;)
De todas formas, revisa el código, no vale para nada hacer readLine().split("\n") porque readLine ya devuelve solo una línea de texto...
Te recomiendo poner trazas, para saber si lees bien las líneas, y luego para saber si las separas bien.
Intentar acaparar el problema de golpe no tiene sentido, hay que probar los métodos individualmente, desde los más básicos a los más complejos.