rt
#include<bits/stdc++.h>
using namespace std;
int n,a[30][30],f[30],w[30],ans;
signed main(){
cin>>n;
ans=n;
for(int i=1;i<=n;i++){
cin>>w[i];
}
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
cin>>a[i][j];
}
}
for(int i=n;i>=1;i--){
f[i]=w[i];
for(int j=i+1;j<=n;j++){
if(a[i][j]){
f[i]=max(f[i],f[j]+w[i]);
}
}
if(f[ans]<f[i]) ans=i;
}
cout<<ans<<endl;
for(int i=ans,j=ans+1;j<=n;j++){
if(a[i][j]&& f[i]==f[j]+w[i]){
cout<<"i=j"<<endl;
}
}cout<<f[ans]<<endl;
}