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

int w, h, s, g;
char f[100][100];

// デバッグ
void debug(){
	for(int x=0 ; x < w ; x++ ){
		cout << ((s*2-2 == x)? '*' : ' ');
	}
	cout << endl;
	for(int y=0 ; y < h ; y++ ){
		for(int x=0 ; x < w ; x++ ){
			cout << f[y][x];
		}
		cout << endl;
	}
	for(int x=0 ; x < w ; x++ ){
		cout << ((g*2-2 == x)? '*' : ' ');
	}
	cout << endl;
}

bool move(int x, int y){
	if( y == h ){ // 一番下まできたとき
		return ( x == g * 2 - 2 )? true : false;
	}
	
	if( x-1 >= 0 && f[y][x-1] == '-' ){ // 左に横棒があるとき
		return move( x-2 , y+1 );
	}else if( f[y][x+1] == '-' ){ // 右に横棒があるとき
		return move( x+2 , y+1 );
	}
	// 下に進む
	return move( x , y+1 );
}

int main(){
	int n;
	while( cin >> n , n ){
		w = 2 * n; // 幅
		
		// 初期化
		for(int x=0 ; x < 100 ; x++ ){
			for(int y=0 ; y < 100 ; y++ ){
				if( x % 2 == 0 ){
					f[y][x] = '|';
				}else{
					f[y][x] = ' ';
				}
			}
		}
		
		// 入力
		cin >> s >> g >> h;
		for(int y=0 ; y < h ; y++ ){
			string s;
			cin >> s;
			for(int i=0 ; i < s.size() ; i++ ){
				int x = i * 2 + 1;
				if( s[i] == '1' ) f[y][x] = '-';
			}
		}
		
		if( move( s*2-2 , 0 ) ){ // 線を引かなくていいとき
			cout << 0 << endl;
		}else{ // 線を引くとき
			bool flag = false;
			for(int y=0 ; y < h ; y++ ){
				for(int x=1 ; x < w ; x += 2 ){
					if( f[y][x] == '-' ) continue;
					
					if( x == 1 ){
						if( f[y][x+2] == ' ' ){
							f[y][x] = '-';
							if( move( s*2-2 , 0 ) ){
								flag = true;
								f[y][x] = '+';
								cout << (y+1) << " " << (x/2 + 1) << endl;
								break;
							}
							f[y][x] = ' ';
						}
					}else if( x == w-3 ){
						if( f[y][x-2] == ' ' ){
							f[y][x] = '-';
							if( move( s*2-2 , 0 ) ){
								flag = true;
								f[y][x] = '+';
								cout << (y+1) << " " << (x/2 + 1) << endl;
								break;
							}
							f[y][x] = ' ';
						}
					}else{
						if( f[y][x-2] == ' ' && f[y][x+2] == ' ' ){
							f[y][x] = '-';
							if( move( s*2-2 , 0 ) ){
								flag = true;
								f[y][x] = '+';
								cout << (y+1) << " " << (x/2 + 1) << endl;
								break;
							}
							f[y][x] = ' ';
						}
					}
				}
				if( flag ) break;
			}
			// debug();
			// 解がないとき
			if( flag == false ){
				cout << 1 << endl;
			}
		}
	}
}