#define _CRT_SECURE_NO_WARNINGS
#include <bits/stdc++.h>
#include <unordered_map>
using namespace std;
int a[10][15], f[10][30], b[10][30];
int main() {
for (int i = 1; i <= 5; ++i) {
for (int j = 1; j <= 10; ++j) {
cin >> a[i][j];
}
}
memset(f, 127, sizeof(f));
for (int i = 1; i <= 10; ++i) f[1][i] = a[1][i], b[1][i] = i;
for (int i = 2; i <= 5; ++i) {
for (int j = 1; j <= 25; ++j) {
for (int z = 1; z <= 10; ++z) {
if (j - z > 0) {
if (f[i][j] > f[i - 1][j - z] + a[i][z]) {
f[i][j] = f[i - 1][j - z] + a[i][z];
b[i][j] = z;
}
}
}
}
}
cout << f[5][25] << '\n';
int top = 0, stk[10] = {0}, sum = 25;
for (int i = 5; i >= 1; --i) {
stk[++top] = b[i][sum];
sum = sum - b[i][sum];
}
for (int i = top; i; --i) cout << stk[i] << ' ';
return 0;
}