#include <bits/stdc++.h>
using namespace std;
int a[1000][1000], g[1000][1000], trace[1000][1000];
int m, n, res = 0, pos;
void nhap() {
cin >> m >> n;
for (int i = 1; i <= m; ++i)
for (int j = 1; j <= n; ++j)
cin >> a[i][j];
}
void solve() {
memset(g, 0, sizeof(g));
for (int i = 1; i <= m; ++i) {
g[i][1] = a[i][1];
trace[i][1] = 0;
}
for (int j = 2; j <= n; ++j) {
for (int i = 1; i <= m; ++i) {
int val = g[i][j-1];
int fr = i;
if (i > 1 && g[i-1][j-1] > val) {
val = g[i-1][j-1];
fr = i - 1;
}
if (i < m && g[i+1][j-1] > val) {
val = g[i+1][j-1];
fr = i + 1;
}
g[i][j] = val + a[i][j];
trace[i][j] = fr;
}
}
for (int i = 1; i <= m; ++i) {
if (g[i][n] > res) {
res = g[i][n];
pos = i;
}
}
int p[1000];
int row = pos, col = n;
while (col >= 1) {
p[col] = row;
row = trace[row][col];
col--;
}
for (int i = 1; i < n; ++i)
cout << p[i] << "-->";
cout << p[n]<< endl;
cout << res << endl;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
nhap();
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBhWzEwMDBdWzEwMDBdLCBnWzEwMDBdWzEwMDBdLCB0cmFjZVsxMDAwXVsxMDAwXTsKaW50IG0sIG4sIHJlcyA9IDAsIHBvczsKCnZvaWQgbmhhcCgpIHsKICAgIGNpbiA+PiBtID4+IG47CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBtOyArK2kpCiAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPD0gbjsgKytqKQogICAgICAgICAgICBjaW4gPj4gYVtpXVtqXTsKfQoKdm9pZCBzb2x2ZSgpIHsKICAgIG1lbXNldChnLCAwLCBzaXplb2YoZykpOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbTsgKytpKSB7CiAgICAgICAgZ1tpXVsxXSA9IGFbaV1bMV07CiAgICAgICAgdHJhY2VbaV1bMV0gPSAwOwogICAgfQoKICAgIGZvciAoaW50IGogPSAyOyBqIDw9IG47ICsraikgewogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG07ICsraSkgewogICAgICAgICAgICBpbnQgdmFsID0gZ1tpXVtqLTFdOwogICAgICAgICAgICBpbnQgZnIgPSBpOwoKICAgICAgICAgICAgaWYgKGkgPiAxICYmIGdbaS0xXVtqLTFdID4gdmFsKSB7CiAgICAgICAgICAgICAgICB2YWwgPSBnW2ktMV1bai0xXTsKICAgICAgICAgICAgICAgIGZyID0gaSAtIDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGkgPCBtICYmIGdbaSsxXVtqLTFdID4gdmFsKSB7CiAgICAgICAgICAgICAgICB2YWwgPSBnW2krMV1bai0xXTsKICAgICAgICAgICAgICAgIGZyID0gaSArIDE7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGdbaV1bal0gPSB2YWwgKyBhW2ldW2pdOwogICAgICAgICAgICB0cmFjZVtpXVtqXSA9IGZyOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBtOyArK2kpIHsKICAgICAgICBpZiAoZ1tpXVtuXSA+IHJlcykgewogICAgICAgICAgICByZXMgPSBnW2ldW25dOwogICAgICAgICAgICBwb3MgPSBpOwogICAgICAgIH0KICAgIH0KICAgIGludCBwWzEwMDBdOwogICAgaW50IHJvdyA9IHBvcywgY29sID0gbjsKICAgIHdoaWxlIChjb2wgPj0gMSkgewogICAgICAgIHBbY29sXSA9IHJvdzsKICAgICAgICByb3cgPSB0cmFjZVtyb3ddW2NvbF07CiAgICAgICAgY29sLS07CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPCBuOyArK2kpCiAgICAgICAgY291dCA8PCBwW2ldIDw8ICItLT4iOwogICAgY291dCA8PCBwW25dPDwgZW5kbDsKICAgIGNvdXQgIDw8IHJlcyA8PCBlbmRsOwp9CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIG5oYXAoKTsKICAgIHNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQo=