#include<bits/stdc++.h>
using namespace std;
bool f[205][205];
int a[205],d[205],p[205],o,n,s=0;
void print(int x)
{
if(p[x])print(p[x]);
cout<<x<<" ";
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n-1;i++)
{
for(int j=i+1;j<=n;j++)
{
cin>>f[i][j];
}
}
d[1]=a[1];
for(int i=2;i<=n;i++)
{
d[i]=a[i];
for(int j=i-1;j>0;j--)
{
if(f[j][i]&&d[i]<d[j]+a[i])
{
d[i]=d[j]+a[i];
p[i]=j;
}
}
if(s<d[i])
{
s=d[i];
o=i;
}
}
print(o);
cout<<endl<<s;
return 0;
}