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

int n, s, e, d;
char line[10][31];

bool right(int x, int y)
{
    return x < n - 1 && line[x][y] == '1';
}

bool left(int x, int y)
{
    return 0 < x && line[x-1][y] == '1';
}

int simulation()
{
    int x = s - 1;
    for(int y = 0; y < d; ++y){
        if(left(x, y)){
            x--;
        } else if(right(x, y)){
            x++;
        } 
    }
    return x + 1;
}

bool canAdd(int i, int j)
{
    if(line[i][j] == '1') return false;
    int l = i - 1, r = i + 1;
    if(0 <= l && line[l][j] == '1'){
        return false;
    }
    if(r < n - 1 && line[r][j] == '1'){
        return false;
    }
    return true;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    while(cin >> n, n){
        cin >> s >> e >> d;
        bool end = false;
        for(int j = 0; j < d; ++j){
            for(int i = 0; i < n - 1; ++i){
                cin >> line[i][j];
            }
        }
        
        if(simulation() == e) {
            cout << 0 << endl;
            continue;
        } 
        for(int j = 0; j < d && !end; ++j){
            for(int i = 0; i < n - 1 && !end; ++i){
                if(canAdd(i, j)){
                    line[i][j] = '1';
                    if(simulation() == e){
                        cout << j + 1 << ' ' << i + 1 << endl;
                        end = true;
                    }
                    line[i][j] = '0';
                }
            }
        }
        if(!end){
            cout << 1 << endl;
        }
    }
}