1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<string.h>
4 int main()
5 {
6 int i, j, ncases, n, k;
7 int a[31][31],flag[4],ok;
8
9 scanf("%d",&ncases);
10 while( ncases-- )
11 {
12 scanf("%d",&n);
13 memset(flag,0,sizeof(flag));
14 for(i=0; i<n; i++)
15 for(j=0; j<n; j++)
16 {
17 scanf("%d",&a[i][j]);
18 }
19 ok = 0;
20 for(i=0; i<n; i++)
21 for(j=0; j<n; j++)
22 {
23 if(a[i][i] != 0)
24 flag[1] = 1;
25 else if(a[i][j]<=0 && i!=j)
26 flag[2] = 1;
27 else if(a[i][j] != a[j][i])
28 flag[3] = 1;
29 }
30 for(i=0; i<n; i++)
31 for(j=i+1; j<n; j++)
32 {
33 for(k=i+1; k<j; k++)
34 {
35 if(a[i][j]+a[j][k]<a[i][k] && i!=j&&j!=k&&i!=k)
36 flag[4] = 1;
37 }
38 }
39 for(i=1; i<=4; i++)
40 {
41 if(flag[i]==1)
42 {
43 printf("%d\n",i);
44 ok = 1; break;
45 }
46 }
47 if( !ok ) printf("0\n");
48 }
49 return 0;
50 }