1 #include<iostream>
2 #include<cstdio>
3 #include<cstdlib>
4 #include<cstring>
5 #include<string>
6 #include<cmath>
7 #include<algorithm>
8 #include<queue>
9 #include<vector>
10 using namespace std;
11 int t,n;
12 int mp[205][205],cx[205],cy[205],vis[205];
13 int find(int x)
14 {
15 for (int i=1;i<=n;i++)
16 {
17 if (mp[x][i]&&!vis[i])
18 {
19 vis[i]=1;
20 if (!cy[i]||find(cy[i]))
21 {
22 cy[i]=x;
23 return 1;
24 }
25 }
26 }
27 return 0;
28 }
29 int main()
30 {
31 scanf("%d",&t);
32 for (int cs=1;cs<=t;cs++)
33 {
34 memset(mp,0,sizeof(mp));
35 memset(cx,0,sizeof(cx));
36 memset(cy,0,sizeof(cy));
37 scanf("%d",&n);
38 for (int i=1;i<=n;i++)
39 {
40 for (int j=1;j<=n;j++)
41 {
42 int x;
43 scanf("%d",&x);
44 if (x) mp[i][j]=1;
45 }
46 }
47 int f=0;
48 for (int i=1;i<=n;i++)
49 {
50 if (!cx[i])
51 {
52 memset(vis,0,sizeof(vis));
53 if (!find(i))
54 {
55 f=1;
56 printf("No\n");
57 break;
58 }
59 }
60 }
61 if (!f) printf("Yes\n");
62 }
63 return 0;
64 }