#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000001 int n; vector s; int main(){ cin>>n; s.resize(n,""); rep(i,n){ rep(j,n){ int t; cin>>t; s[i] += '0'+t; } } /* n = 16; s.resize(16,string(16,'b')); rep(i,n){ rep(j,n){ if(i ans(n,0); vector ddp,ndp; rep(i,n){ vector dp(1< x,y; rep(k,n){ if((j>>k)&1)x.push_back(k); else y.push_back(k); } ddp.assign(1<>ll)&1)continue; if(s[x[k]][y[ll]]=='0')continue; ndp[l | (1<>l)&1)T |= 1<