def gerar(nLins, nCols, min, max):
    from random import randint
    vals = [None] * nLins
    for i in range(nLins):
        vals[i] = [0] * nCols
        for j in range(nCols):
            vals[i][j] = randint(min, max)
    return vals


def mostrar(vals, linMin, linMax, colMin, colMax):
    for i in range(linMin, linMax):
        for j in range(colMin, colMax):
            print(vals[i][j], end=" ")
        print()
    print()
    return None


def organizar(matriz):
    matriz_organizada = matriz.copy()
    matriz_organizada.sort(key=sum)
    return matriz_organizada


qtd = '56'
qtdLinhas = int(qtd[0])
qtdColunas = int(qtd[1])

valores = gerar(qtdLinhas, qtdColunas, 10, 99)
valores_organizados = organizar(valores)

print("Matriz gerada:")
mostrar(valores, 0, qtdLinhas, 0, qtdColunas)
print("Matriz organizada:")
mostrar(valores_organizados, 0, qtdLinhas, 0, qtdColunas)