t=int(input()) def Q(a,b): Ans=[] V8=[] for i in range(-1,2): for j in range(-1,2): if (i,j)!=(0,0): V8.append((i,j)) for V in V8: for j in range(1,1000): I=(a+V[0]*j,b+V[1]*j) if I[0]<0 or I[0]>=h or I[1]<0 or I[1]>=w: break Ans.append(I) #print(Ans) return Ans for _ in range(t): h,w=map(int,input().split()) X=[] for i in range(h): X.append(list(map(int,input().split()))) fg=False for i in range(h): for j in range(w): for I in Q(i,j): if X[i][j]+X[I[0]][I[1]]>0: #print(i,j,I) fg=True break if fg: break if fg: print("infinite") else: print("finite")