program susijusios_sritys;
  { 57 u‘davinys }

  const max = 50; { popieriaus matmenys }
  type lapas = array [0..max+1, 0..max+1] of char;
       sritis = record
                  d,              { dydis }
                  x, y : integer; { koordinat‚s }
                end;

  procedure ieskoti (m, n : integer; { lapo matmenys }
                     l : lapas;
                     var j, b : sritis);
    { iežko did‘iausios baltos ir juodos sri‡i— }
    var dydis : integer; { srities dydis }
        spalva : char; { srities spalva }

    procedure eiti (x, y : integer);
      { rekursin‚ proced–ra, randanti vien… srit }
      { naudoja globalius kintamuosius: dydis, spalva, l }
    begin
      dydis := dydis + 1;
      l[x, y] := '+'; { langelyje b–ta }
      if l[x + 1, y] =  spalva
         then eiti (x + 1, y);
      if l[x, y + 1] =  spalva
         then eiti (x, y + 1);
      if l[x - 1, y] =  spalva
         then eiti (x - 1, y);
      if l[x, y - 1] =  spalva
         then eiti (x, y - 1);
    end;

    var eil, st : integer;
  begin
    j.d := 0;
    b.d := 0;
    for eil := 1 to m do { apeisime visus langelius }
      for st := 1 to m do
        if l[eil, st] = 'B' { iežkosime baltos srities }
           then begin
                  spalva := 'B';
                  dydis := 0;
                  eiti (eil, st);
                  if dydis > b.d  { radome didesnŠ balt… srit }
                     then begin
                            b.d := dydis;
                            b.x := eil;
                            b.y := st;
                          end;
                end
           else if l[eil, st] = 'J' { iežkosime juodos srities }
                   then begin
                          spalva := 'J';
                          dydis := 0;
                          eiti (eil, st);
                          if dydis > j.d  { radome didesnŠ juod… srit }
                             then begin
                                    j.d := dydis;
                                    j.x := eil;
                                    j.y := st;
                                  end;

                        end;

  end;

  var f : text;
      i1, i2, m, n : integer;
      b, j : sritis;
      l : lapas;
begin
  assign (f, 'SRITYS.DAT');
  reset (f);
  readln (f, m, n);
  for i1 := 0 to m + 1 do
    begin
      for i2 := 0 to n + 1 do
        if (i1 in [0, m + 1]) or (i2 in [0, n + 1])
           then l[i1, i2] := '+' { lap… apgaubiame 'aplankytais' langeliais }
           else read (f, l[i1, i2]);
      if i1 <> 0
         then readln (f);
    end;

  close (f);
  ieskoti (m, n, l, j, b);
  if j.d = 0 { jei n‚ra juodosios srities }
     then writeln ('N‚ra nei vieno juodo langelio')
     else writeln ('Did‘iausia juodoji sritis: ', j.d, ' ', j.x, ' ', j.y);
  if b.d = 0 { jei n‚ra baltosios srities }
     then writeln ('N‚ra nei vieno balto langelio')
     else writeln ('Did‘iausia baltoji sritis: ', b.d, ' ', b.x, ' ', b.y);
end.