public class p2196 {
public static void main(String[] args) {
Scanner inScanner=new Scanner(System.in);
int n=inScanner.nextInt();
int[] d=new int[30],dp=new int[30],num=new int[30];
int[][] ct=new int[30][30];
for (int i = 1; i <=n; i++) {
d[i]=inScanner.nextInt();
}
for (int i = 1; i <n; i++) {
for (int j = i+1; j <=n; j++) {
ct[i][j]=inScanner.nextInt();
}
}
int ans=0;
for (int i = 1; i <=n; i++) {
for (int j = 1; j <=n; j++) {
if (ct[j][i]==1&&dp[j]>dp[i]) {
dp[i]=dp[j];
num[i]=j;
}
}
dp[i]+=d[i];
if (dp[i]>ans) {
ans=dp[i];
}
}
for (int i = 1; i <=n; i++) {
if(num[i]!=0)
System.out.print(num[i]+" ");
}
System.out.println();
System.out.println(ans);
}
}