#include using namespace std; const int M=1e3+5; int n,fir; char E[M][M]; int Deg[M];bool vis[M]; void dfs(int u) { vis[u]=true; for(int i=1;i<=n;i++) if(E[u][i]=='1' && !vis[i]) dfs(i); } void Solve() { int cnt=0; for(int i=1;i<=n;i++) { Deg[i]=0; for(int j=1;j<=n;j++)if(E[i][j]=='1')Deg[i]++; if(i!=fir && (Deg[i]&1))cnt++; // printf("%d Deg=%d\n",i,Deg[i]); } if(cnt>1)return (void)puts("-1"); int ans=-2; for(int i=1;i<=n;i++)for(int j=1;j 0) { scanf("%d%d",&n,&fir); for(int i=2;i<=n;i++) { scanf("%s",E[i]+1); for(int j=1;j