Ler várias linhas de Strings e transforma-las em uma matriz n x m de caracteres

Boa tarde!

Estou precisando ler uma matriz no seguinte formato:

1

10 6
AACATGAAGG
TTTTGGCCAA
TTTGGCCAAA
GATCAGATTT
CCCGGGGGGA
ATCGATGCAT

Para cada dataset, deve-se imprimir a lista das strings de entrada ordenadas da “mais ordenada” para a “menos ordenada”. Se duas ou mais strings possuírem o mesmo nível de desordem, elas devem ser impressas na mesma ordem da entrada. Imprima uma linha em branco entre dois casos de testes consecutivos.

Estou tentando fazer a leitura e converter em matriz, ou ler forma de matriz. Mas não estou conseguindo converter.

import java.io.*;
import java.util.*;

public class HuxleyCode {

	public static void main(String args[]) {
		Scanner input = new Scanner(System.in);
		int m;
		String linha = null;
		int j;
		int k;
		int l;
		int n;
		
		m = input.nextInt();

		while (m != 0) {
			linha = input.nextLine();
			j = input.nextInt();
			k = input.nextInt();

			System.out.println(linha);

			if (linha.trim().length() == 0) {
				if (j > 50) {
					System.out.print("Por favor digite um valor entre 1 e 50");
					j = input.nextInt();
				}

				if (k > 100) {
					System.out.print("Por favor digite um valor entre 1 e 100");
					k = input.nextInt();
				}
			} else {
				System.out.print("Por favor escreva novamente os dados pulando uma linha"
						+ " entre o primeiro valor e os demais");
				System.exit(0);
			}

			String[][] array = new String[k][j];

			for (n = 0; n < j; n++) {
				for (l = 0; l < k; l++) {
					array[l][n] = ?;					
				}
			}
		}
	}
}