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.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.StringTokenizer;

public class Main {

    public static void main(String[] args) throws IOException {
	    Reader.init(System.in);
	    int n = Reader.nextInt();
	    int m = Reader.nextInt();
	    int[][] arr = new int[n+1][m+1];
	    for (int i = 0 ; i < n ; i++){
	        String x = Reader.next();
	        for (int j = 0 ; j < m ; j++){
	            if (x.charAt(j)=='W'){
	                arr[i+1][j+1] = 1;
                }
                else{
                    arr[i+1][j+1] = 2;
                }
            }
        }
        int flag  = 0;
	    int first = 0;
	    int second = 0;
	    int third = 0;
	    int fourth = 0;


        for (int i = 1 ; i < n+1 ; i++ ){
            for (int j = 1; j <m+1 ; j++){
                if (arr[i][j]==2 && flag==0){
                    first = i;
                    second = j;
                    third = i;
                    fourth = j;
                    flag=1;
                }
                if (arr[i][j]==2 && flag==1){
                    third = i;
                    fourth = j;
                }

            }
        }
        System.out.println((first + third)/2 + " " + (second + fourth)/2);


    }
    public static void sortbyColumn(int arr[][], int col)
    {
        // Using built-in sort function Arrays.sort
        Arrays.sort(arr, new Comparator<int[]>() {

            @Override
            // Compare values according to columns
            public int compare(final int[] entry1,
                               final int[] entry2) {

                // To sort in descending order revert
                // the '>' Operator
                if (entry1[col] > entry2[col])
                    return 1;
                else
                    return -1;
            }
        });  // End of function call sort().
    }



}

class Reader {
    static BufferedReader reader;
    static StringTokenizer tokenizer;

    /** call this method to initialize reader for InputStream */
    static void init(InputStream input) {
        reader = new BufferedReader(
                new InputStreamReader(input) );
        tokenizer = new StringTokenizer("");
    }

    /** get next word */
    static String next() throws IOException {
        while ( ! tokenizer.hasMoreTokens() ) {
            ///TODO add check for eof if necessary
            tokenizer = new StringTokenizer(
                    reader.readLine() );
        }
        return tokenizer.nextToken();
    }

    static int nextInt() throws IOException {
        return Integer.parseInt( next() );
    }

    static double nextDouble() throws IOException {
        return Double.parseDouble( next() );
    }
    static long nextLong() throws IOException {
        return Long.parseLong( next() );
    }
}