#include #define REP(i,n) for(int i=0,i##_len=(n);i>N; vector> X(N,vector(N)); REP(i,N) REP(j,N) cin>>X[i][j]; vector A(N); REP(i, N){ cin >> A[i]; } int ans=INT_MAX; REP(bit,1<>j&1){ res+=A[j]; } bool flag=true; REP(i,N){ rep(j,i+1,N) if((~bit>>j&1)&&X[i][j]){ if(X[j][i]) flag=false; } } if(flag) ans=min(ans,res); } cout<