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.*;
import java.util.*;


public class warrior  {
	static boolean DEBUG_FLAG = false;
    int INF = (int)1e9;
    long MOD = 1000000007;
    long p = 101;
    static void debug(String s) {
        if(DEBUG_FLAG) {
            System.out.print(s);
        }
    }
    void solve(InputReader in, PrintWriter out) throws IOException {
    	int n = in.nextInt();
    	int m = in.nextInt();
    	char[][] arr = new char[n][m];
    	for(int i = 0;i<n;i++){
    		String str = in.next();
    		arr[i]  = str.toCharArray();
    	}
    	int index  = -5;
    	int jind = -5;
    	int flag = 1;
    	for(int i = 0;i<n;i++){
    		for(int j = 0;j<m;j++){
    			if(arr[i][j] == 'B'){
    				index = i;
    				jind = j;
    				flag = 0;
    				break;
    			}
    		}
    		if(flag == 0)
    			break;
    			
    	}
    	//System.out.println(index + " " + jind);
    	int xinde = -10;
    	int i = index;
    	int j = jind;
    	while(i < n && arr[i][j] == 'B'){
    		i++;
    	}
    	xinde = i - 1;
    	//System.out.println(xinde + " " + jind);
    	i = index;
    	j = jind;
    	while(j <m && arr[i][j] == 'B'){
    		j++;
    	}
    	int yind=  j - 1;
    	//System.out.println(xinde + " " + yind);
    	int xans =  index + (xinde - index)/2 + 1;
    	int yans = jind + (yind - jind)/2 + 1;
    	System.out.println(xans + " " + yans);
    	
    	
    }
    
    public static void main(String[] args) throws IOException {
        if(args.length>0 && args[0].equalsIgnoreCase("d")) {
            DEBUG_FLAG = true;
        }
        InputReader in = new InputReader();
        PrintWriter out = new PrintWriter(System.out);
        int t =  1;
        long start = System.nanoTime();
        while(t-- >0) {
            new warrior().solve(in, out);
        }
        long end = System.nanoTime();
        debug("\nTime: " + (end-start)/1e6 + " \n\n");
        out.close();
    }
    
    static class InputReader {
        static BufferedReader br;
        static StringTokenizer st;
    
        public InputReader() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }
        
        String next() {
            while (st == null || !st.hasMoreTokens()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }
        
        int nextInt() {
            return Integer.parseInt(next());
        }
        
        long nextLong() {
            return Long.parseLong(next());
        }
        
        double nextDouble() {
            return Double.parseDouble(next());
        }
    }
}
