#include #include using namespace std; bool isreachable(int x1, int y1, int x2, int y2){ return (x1 == x2 || y1 == y2 || x1 + y1 == x2 + y2 || x1 - y1 == x2 - y2); } int main(){ int T; cin >> T; while (T--){ int H, W; cin >> H >> W; vector> A(H, vector(W)); for (int i = 0; i < H; i++){ for (int j = 0; j < W; j++){ cin >> A[i][j]; } } bool pos = false; for (int i = 0; i < H * W; i++){ for (int j = i + 1; j < H * W; j++){ int x1 = i / W; int y1 = i % W; int x2 = j / W; int y2 = j % W; if (isreachable(x1, y1, x2, y2)){ if (A[x1][y1] + A[x2][y2] > 0){ cout << x1 << " " << y1 << " " << x2 << " " << y2 << endl; pos = true; } } } } cout << (pos ? "infinite" : "finite") << endl; } }