#include #define MAXN 30 #define MAXM 20000007 #define inf 0x3f3f3f3f3f3f3f3f using namespace std; inline int read(){ int x=0; char c=getchar(); while(c<'0' || c>'9'){ c=getchar(); } while(c>='0' && c<='9'){ x=(x<<1)+(x<<3)+(c^48); c=getchar(); } return x; } int n; int f[MAXM]; int val[MAXN][MAXN]; int check(int num){ int cnt=0; while(num){ num&=(num-1); cnt++; } return cnt; } signed main(){ // freopen("group.in","r",stdin); // freopen("group.out","w",stdout); n=read(); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ val[i][j]=read(); } } int ans=0; memset(f,-0x3f,sizeof(f)); f[0]=0; for(int i=0;i<(1<