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;
int read() {
  int x = 0, f = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    x = 10 * x + ch - '0';
    ch = getchar();
  }
  return x * f;
}
const int Size = 201;
int n, m, sx, sy, rs, cs;
char a[Size][Size];
void init() {
  n = read();
  m = read();
  bool found = false;
  for (int i = 1; i <= n; i++) {
    gets(a[i] + 1);
    for (int j = 1; j <= m; j++) {
      if (!found && a[i][j] == 'B') {
        found = true;
        sx = i;
        sy = j;
        break;
      }
    }
  }
}
int main() {
  init();
  for (int i = sx; i <= n; i++) {
    if (a[i][sy] == 'B') {
      rs++;
    } else {
      break;
    }
  }
  for (int i = sy; i <= m; i++) {
    if (a[sx][i] == 'B') {
      cs++;
    } else {
      break;
    }
  }
  printf("%d %d", sx + (rs >> 1), sy + (cs >> 1));
  return 0;
}
