#include using namespace std; typedef long long ll; typedef pair P; #define REP(i,n) for(ll i=0;i> T; while(T--){ ll H,W; cin >> H >> W; vector> a(H, vector(W)); REP(i,H){ REP(j,W){ cin >> a[i][j]; } } bool f=false; REP(i,H){ REP(j,W){ ll c=a[i][j]; for(k=0;k0){ f=true; break; } } for(k=0;k0){ f=true; break; } } for(k=1;k=k && j>=k && c+a[i-k][j-k]>0){ f=true; break; } if(i>=k && j+k0){ f=true; break; } if(i+k=k && c+a[i+k][j-k]>0){ f=true; break; } if(i+k0){ f=true; break; } } } } if(f) cout << "infinite" << endl; else cout << "finite" << endl; } return 0; }