Consider a table of size n × m, initially fully white. Rows are numbered 1 through n from top to bottom, columns 1 through m from left to right. Some square inside the table with odd side length was painted black. Find the center of this square.

Input

The first line contains two integers n and m (1 ≤ n, m ≤ 115) — the number of rows and the number of columns in the table.

The i-th of the next n lines contains a string of m characters s_{i1} s_{i2} … s_{im} (s_{ij} is 'W' for white cells and 'B' for black cells), describing the i-th row of the table.

Output

Output two integers r and c (1 ≤ r ≤ n, 1 ≤ c ≤ m) separated by a space — the row and column numbers of the center of the black square.

Examples

Input

5 6
WWBBBW
WWBBBW
WWBBBW
WWWWWW
WWWWWW


Output

2 4


Input

3 3
WWW
BWW
WWW


Output

2 1
#include <bits/stdc++.h>
using namespace std;
static const int inf = 0x3f3f3f3f, mod = (int)1e9 + 7;
const double eps = 1e-10, pi = acos(-1.0);
int n, m;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout << setprecision(10);
  cout << fixed;
  ;
  cin >> n >> m;
  int arr[n][m];
  for (int(i) = 0; (i) < (int)(n); ++(i)) {
    for (int(j) = 0; (j) < (int)(m); ++(j)) {
      char tmp;
      cin >> tmp;
      arr[i][j] = (tmp == 'W' ? 0 : 1);
    }
  }
  int one = inf, two = -inf;
  int onee = -inf, twoo = inf;
  for (int(i) = 0; (i) < (int)(n); ++(i)) {
    for (int(j) = 0; (j) < (int)(m); ++(j)) {
      if (arr[i][j]) {
        one = min(one, i);
        two = max(two, j);
        onee = max(onee, i);
        twoo = min(twoo, j);
      }
    }
  }
  cout << abs(one + onee) / 2 + 1 << " " << abs(two + twoo) / 2 + 1 << endl;
  return 0;
}
