#include<bits/stdc++.h>
using namespace std;
const int maxn=25;
int val[maxn],l[maxn][maxn],f[maxn],g[maxn];
int a[maxn];
int n,ind;
int main(){
cin>>n;
for(int i=1;i<=n;++i){
cin>>val[i];
}
for(int i=1;i<n;++i){
for(int j=1;j<=n-i;++j){
cin>>l[i][j];
}
}
f[1]=val[1];
int ans=-1e9;
for(int i=1;i<=n;++i){
g[i]=0;
for(int j=1;j<i;++j){
if(l[j][i-j]){
if(f[j]+val[i]>f[i]){
f[i]=f[j]+val[i];
g[i]=j;
}
}
}
if(f[i]>ans){
ans=f[i];
ind=i;
}
}
int cnt=1;
for(int i=ind;g[i];i=g[i]){
a[cnt++]=i;
}
cout<<1<<' ';
for(int i=cnt-1;i>=1;--i){
cout<<a[i]<<' ';
}
cout<<'\n';
cout<<ans;
return 0;
}