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
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

public class A1028 {
	public static void main(String args[])throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		PrintWriter out = new PrintWriter(System.out);
		StringTokenizer str = new StringTokenizer(br.readLine());
		int n = Integer.parseInt(str.nextToken());
		int m = Integer.parseInt(str.nextToken());
		char a[][] = new char[n][m];
		boolean flag = true;
		int startI = 0, startJ = 0;
		
		for(int i=0; i<n; i++) {
			str = new StringTokenizer(br.readLine());
			String s = str.nextToken();
			for(int j=0; j<s.length(); j++) {
				a[i][j] = s.charAt(j);
				if(a[i][j] == 'B' && flag) {
					flag = false;
					startI = i + 1;
					startJ = j + 1;
				}
			}
		}
		flag = true;
		int endI = 0, endJ = 0;
		for(int i= n-1; i>=0; i--) {
			for(int j= m-1; j>=0; j--){
				if(a[i][j] == 'B' && flag) {
					flag = false;
					endI = i + 1;
					endJ = j + 1;
				}
			}
		}
		//out.println(startI + " " + startJ + " " + endI + " " + endJ);
		out.println((endI + startI)/2 + " " + (endJ + startJ)/2);
		out.flush();
	}
}
