#include <stdio.h>
#include <stdlib.h>
int m,n;
int now = 0;
char ch,ch2;
char Map[30][30];

int DFS(int x,int y)
{
   Map[x][y] = ch2;
   now++;
   if(x-1 >= 0)
      if(Map[x-1][y]==ch)
         DFS(x-1,y);
   if(x+1 < n)
      if(Map[x+1][y]==ch)
         DFS(x+1,y);
   if(y-1 >= 0)
      if(Map[x][y-1]==ch)
         DFS(x,y-1);
   if(y+1 < m)
      if(Map[x][y+1]==ch)
         DFS(x,y+1);
   if(y==n-1)
      if(Map[x][0]==ch)
         DFS(x,0);
   if(y==0)
      if(Map[x][n-1]==ch)
         DFS(x,n-1);
   return now;
}
int main()
{
  int x,y;
  int i,j;
  int r;
  int max = 0;
  int find = 0;
  while(scanf("%d %d",&m,&n)==2)
  {
     for(i=0;i<m;i++)
        scanf("%s",Map[i]);
     scanf("%d %d",&x,&y);
     ch = Map[x][y];
     for(i=0;i < m;i++)
        for(j=0;j < n;j++)
           if(Map[i][j]!=ch)
           {
              find = 1;
              ch2 = Map[i][j];
              break;
           }
     if(find==0)
       ch2 = !ch;
     DFS(x,y);
     for(i=0;i < m;i++)
        for(j=0;j < n;j++)
        {
           if(Map[i][j]== ch)
           {
              now = 0;
              r = DFS(i,j);
              if(r > max)
                max = r;
           }
        }
     printf("%d\n",max);
     for(i=0;i<m;i++)
        for(j=0;j<n;j++)
           Map[i][j] = 0;
     max = 0;
     find = 0;
  }
  return 0;
}
