#define loop(i,a,b) for(int i=a; i<b; ++i)
#define min(a,b) (a)<(b)?a:b;
#define max(a,b) (a)>(b)?a:b;
#define sqr(a) ((a)*(a))
#include <cstdio>
#include <vector>
#include <string>
#include <algorithm>
#include <math.h>
using namespace std;
int n,h,x,y,b[105][28];
char a[105][28],from[105][28];

string res;

void rec( int i, int j, string s )
{
	char _s[2];
	_s[0] = from[i][j];
//	_s[0] = 'A' + j;
	_s[1]=0;
	s = _s + s;

	int to = _s[0] - 'A';


	if ( i == x )
	{
		if ( s < res && b[i][j] == 0 )
			res = s;
		return;
	}

	rec( i-1, to, s);
	return;

	bool can = false;
	if ( b[i-1][j] == b[i][j] )
	{
		can = true;
	}

	loop(e,0,h)
		if ( b[i-1][e] + 1 == b[i][j]  )
			if ( !can || e < j )
			{
				rec( i-1, e, s );
				return;
			}

	rec( i-1, j, s );
}

int main()
{
	freopen("input.txt","rt",stdin);
	freopen("output.txt","wt",stdout);
	scanf("%d %d\n", &n, &h);
	loop(i,0,n)
		scanf("%s", &a[i] );
	scanf("%d%d", &x, &y);
	--x;
	--y;

	int best = 100500, cb = 100500;
	char lbes='Z'+1,nlbes;
	loop(i,0,h)
	{
		if ( a[x][i] == 'O' )
		{
			b[x][i] = 0;
			best = 0;
			if ( 'A' + i < lbes )
				lbes = 'A' + i;
		}
		else
		{
			b[x][i] = -2;
		}
	}
	
	loop(j,x+1,y)
	{
		cb = 100500;
		loop(i,0,h)
			if ( a[j][i] == 'X' )
				b[j][i] = -2;
			else
			{
				if ( b[j-1][i] != -2 )
				{
					b[j][i] = b[j-1][i];
					from[j][i] = 'A' + i;
					if ( best + 1 == b[j][i] && lbes < 'A' + i )
					{
						from[j][i] = lbes;
					}
				}
				else
				{
					b[j][i] = best + 1;
					from[j][i] = lbes;
				}

				if ( b[j][i] < cb )
				{
					nlbes = 'A' + i;
					cb = b[j][i];
				}
			}
		best = cb;
		lbes = nlbes;
		if ( best == 100500 )
		{
			printf("Not available\n");
			return 0;
		}
	}

	if ( best == 100500 )
	{
		printf("Not available\n");
		return 0;
	}

	res.assign(200,'Z'+1);

	loop(i,0,h)
		if ( b[y-1][i] == best )
		{
			string s;
			char _ss[2];
			_ss[0]='A'+i;
			_ss[1]=0;

			s += _ss;
			rec( y-1, i, s );
			break;
		}

	//sort( res.begin(), res.end() );

	//loop(i,0,res.size())
	//	puts( res[i].c_str() );

	//puts( "" );
	//puts( res[0].c_str() );
	//loop(i,x,y)
	//{
	//	loop(j,0,h)
	//		if ( b[i][j] != -2 )
	//			printf("%3d ", b[i][j]);
	//		else
	//			printf("    ");
	//	puts("");
	//}

	string s = res;
	s += ' ';

	int i = 0;

	do 
	{
		printf("%c: ",s[i]);
		int l=1,f=i;
		++i;
		while ( s[i] == s[i-1] )
		{
			++i;
			++l;
		}
		printf("%d-%d\n",x+f+1,x+f+l+1);
	}
	while ( i < s.size() - 1 );
//	printf("\n");
	return 0;
}