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;
long long MOD = 10;
long long fastpow(long long num, long long p) {
  if (p == 0) return 1;
  if (p % 2) return (num % MOD * fastpow(num, p - 1)) % MOD;
  long long a = fastpow(num, p / 2);
  return (a * a) % MOD;
}
inline long long fixMod(long long a, long long m) { return (a % m + m) % m; }
inline long long floor(long long a, long long b) {
  return (a - fixMod(a, b)) / b;
}
long long n, x, y, z, a[1000000], k, sol, sum;
char c[1000][1000];
vector<long long> v;
pair<long long, long long> p[1000000];
map<long long, long long> m;
string s1, s2, s;
int main() {
  cin >> x >> y;
  for (int i = 0; i < x; i++)
    for (int q = 0; q < y; q++) cin >> c[i][q];
  for (int i = 0; i < x; i++) {
    for (int q = 0; q < y; q++) {
      if (c[i][q] == 'B') {
        k++;
        z = i;
      } else if (c[i][q] != 'B' && k)
        break;
    }
    if (k) break;
  }
  for (int i = 0; i < y; i++) {
    if (c[(k / 2) + z][i] == 'B') sol++;
    if (sol == (k / 2) + 1) {
      cout << (k / 2) + 1 + z << " " << i + 1 << endl;
      return 0;
    }
  }
  return 0;
}
