#include <iostream>
#include <vector>
using namespace std;


int main() {
    int size;
    cin >> size;
    vector<vector<int>> map(size, vector<int>(size));
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            cin >> map[i][j];
        }
    }

    int line;
    cin >> line;
    while (line--) {
        int x1, y1, x2, y2;
        cin >> x1 >> y1 >> x2 >> y2;
        x1--; y1--; x2--; y2--; //变成起始为0的位置。
        while (x1 <= x2 && y1 <= y2) { //模拟滚动
            if (map[x1][y1] == 0) {
                ++x1;
            } else {
                ++y1;
            }
        }
	  //最终查看滚出位置。
        if (x1 > x2) {
            cout << x2 + 1 << ' ' << y1+1 << endl;
        }

        if (y1 > y2) {
            cout << x1+1 << ' ' << y2+1 << endl;
        }
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

简单来说,注意一下打印滚出位置的变量是否是正确的,其他的就没什么了。