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;
const double eps = 1e-8;
const int mod = 1e9 + 7;
const double PI = acos(-1.0);
inline bool scd(int &num) {
  char in;
  bool IsN = false;
  in = getchar();
  if (in == EOF) return false;
  while (in != '-' && (in < '0' || in > '9')) in = getchar();
  if (in == '-') {
    IsN = true;
    num = 0;
  } else
    num = in - '0';
  while (in = getchar(), in >= '0' && in <= '9') {
    num *= 10, num += in - '0';
  }
  if (IsN) num = -num;
  return true;
}
char row[120][120];
int dfs(int x, int y, int l) {
  if (row[x][y] != 'B') return l;
  dfs(x + 1, y, l + 1);
}
int main() {
  int n, m;
  scd(n);
  scd(m);
  for (int i = 1; i <= n; ++i) scanf("%s", row[i]);
  for (int i = 1; i <= n; ++i)
    for (int j = 0; j <= m - 1; ++j) {
      if (row[i][j] == 'B') {
        int l = dfs(i, j, 0);
        printf("%d %d\n", i + l / 2, j + l / 2 + 1);
        return 0;
      }
    }
}
