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>
long long int pow1(long long int, long long int);
using namespace std;
int main() {
  int n, m, i, j, start, end, up, down, left, right, flag;
  char c[200][200];
  cin >> n >> m;
  for (i = 0; i < n; ++i)
    for (j = 0; j < m; ++j) cin >> c[i][j];
  start = -1;
  end = -1;
  for (i = 0; i < n; ++i) {
    flag = 0;
    for (j = 0; j < m; ++j) {
      if (c[i][j] == 'B' && flag == 0) {
        left = j;
        flag = 1;
      }
      if (c[i][j] == 'W' && flag == 1) {
        right = j - 1;
        flag = 0;
      }
    }
    if (flag == 1) right = m - 1;
  }
  for (i = 0; i < m; ++i) {
    flag = 0;
    for (j = 0; j < n; ++j) {
      if (c[j][i] == 'B' && flag == 0) {
        up = j;
        flag = 1;
      }
      if (c[j][i] == 'W' && flag == 1) {
        down = j;
        flag = 0;
      }
    }
    if (flag == 1) down = n - 1;
  }
  left++;
  right++;
  up++;
  down++;
  cout << (up + down) / 2 << " " << (left + right) / 2 << endl;
  return 0;
}
long long int pow1(long long int a, long long int b) {
  long long int ans = 1;
  while (b) {
    if (b & 1) {
      ans = ans * a;
    }
    a = a * a;
    b = b >> 1;
  }
  return ans;
}
