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.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int n = sc.nextInt();
		int m = sc.nextInt();
		char[][] table = new char[n][m];
		for (int r = 0; r < n; r++) {
			String line = sc.next();

			for (int c = 0; c < m; c++) {
				table[r][c] = line.charAt(c);
			}
		}
		System.out.println(solve(table));

		sc.close();
	}

	static String solve(char[][] table) {
		int blackMinR = Integer.MAX_VALUE;
		int blackMaxR = Integer.MIN_VALUE;
		int blackMinC = Integer.MAX_VALUE;
		int blackMaxC = Integer.MIN_VALUE;

		for (int r = 0; r < table.length; r++) {
			for (int c = 0; c < table[0].length; c++) {
				if (table[r][c] == 'B') {
					blackMinR = Math.min(blackMinR, r);
					blackMaxR = Math.max(blackMaxR, r);
					blackMinC = Math.min(blackMinC, c);
					blackMaxC = Math.max(blackMaxC, c);
				}
			}
		}

		return String.format("%d %d", (blackMinR + blackMaxR) / 2 + 1, (blackMinC + blackMaxC) / 2 + 1);
	}
}
