(function(input) {
    var elems = input.split(/ |\n/);
    var n = parseInt(elems.shift());
    var d = parseInt(elems.shift());
    var p = new Array(n);
    var min_cost = new Array(n);
    var prev = new Array(n);
    var hotels = new Array();
    for (var ni = 0; ni < n; ++ni) {
        p[ni] = new Array(d + 1);
        min_cost[ni] = new Array(d + 1);
        prev[ni] = new Array(d + 1);
        for (var di = 0; di < d; ++di) {
            p[ni][di] = parseInt(elems.shift());
        }
        p[ni][d] = 0;
        for (var di = 0; di <= d; ++di) {
            min_cost[ni][di] = [10000 * 50 + 1, 0];
        }
    }
    for (var ni = 0; ni < n; ++ni) {
        min_cost[ni][0] = [p[ni][0], 0];
    }
    for (var di = 1; di <= d; ++di) {
        for (var ni = 0; ni < n; ++ni) {
            for (var nj = 0; nj < n; ++nj) {
                var c = (ni == nj || di == d? 0: 1);
                var cost = [min_cost[nj][di - 1][0] + p[ni][di], min_cost[nj][di - 1][1] + c];
                if (cost[0] < min_cost[ni][di][0] || (cost[0] == min_cost[ni][di][0] && cost[1] < min_cost[ni][di][1])) {
                    min_cost[ni][di] = cost;
                    prev[ni][di] = nj;
                }
            }
        }
    }
    console.log(min_cost[0][d][0] + ' ' + min_cost[0][d][1]);
    hotels.push(prev[0][d]);
    for (var di = d - 1; di > 0; --di) {
        hotels.push(prev[hotels[hotels.length - 1]][di]);
    }
    hotels.reverse();
    for (var di = 0; di < d; ++di) {
        console.log(hotels[di] + 1);
    }
})(require('fs').readFileSync('/dev/stdin', 'utf8').trim());