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.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.*;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.InputStream;

public class Main {
	
    public static void main(String[] args) throws FileNotFoundException {
//    	File file1 = new File("C:/Users/hasee/Desktop/std.in");
//    	File file3 = new File("C:/Users/hasee/Desktop/std.out");
//    	File file2 = new File("C:/Users/hasee/Desktop/2.txt");
//    	InputStream inputStream = new FileInputStream(file1);
//    	InputStream inputStream1 = new FileInputStream(file3);
//    	OutputStream outputStream = new FileOutputStream(file2);
    	InputStream inputStream = System.in;
    	OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        TaskA solver = new TaskA();
        solver.solve(1, in, out);
        out.close();
    }
    
    static class TaskA {
    	
    	static int N = 2;
    	
        public void solve(int testNumber, InputReader in, PrintWriter out) {    
        	
        	int a = in.nextInt();
        	int b = in.nextInt();
        	int x[][] = new int[a][b];
        	int x1 = 0;
        	int x2 = 0;
        	int y1 = 0;
        	int y2 = 0;
        	boolean is = false;
        	for(int n = 0; n < a; n++){
        		String s = in.next();       		
        		for(int m = 0; m < b; m++){
        			x[n][m] = s.charAt(m);
        		}
        	}
        	
        	for(int n = 0; n < a; n++){
        		boolean iis = false;
        		for(int m = 0; m < b; m++){
        			if(!is&&x[n][m]=='B'){
        				x1 += m;
        				x2 ++;
        			}
        			if(x[n][m]=='B'){
        				iis = true;
        			}
        		}
        		if(iis){
        			y1+=n;
        			y2++;
        		}
        		if(x2 != 0)is = true;
        	}
        	
        	System.out.println((y1/y2+1)+" "+(x1/x2+1));
        	
        	
        	
        }
        
    }

    static class InputReader {
        public BufferedReader reader;
        public StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 32768);
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

        public int nextInt() {
            return Integer.parseInt(next());
        }
        
        public double nextDouble() {
        	return Double.parseDouble(next());
        }
        
        public long nextLong() {
            return Long.parseLong(next());
        }
        
    }
}

class Node{
	long gcd,t;
}