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.*;

public class aim_1 extends Template{
	public static void main(String[] args) {
		int n = nI(), m = nI();
		int left = 0, bottom = 0;
		int top=0;
		int flag = -1;
		String ls = nS();
		for (int i=0;i<n ;i++ ) {
			String s = nS();
			if(flag==-1 && s.contains("B")){
				int l = s.indexOf('B');
				int b = s.lastIndexOf('B');
				left = l + (b-l)/2 +1;
				flag = 1;
				top = i; bottom = i;
				//System.out.println(top);
				//System.out.println(bottom);
			}
			else if(flag==1&&s.contains("B")){
				bottom = i;
				//System.out.println(bottom);
			}
		}
		int z = top + (bottom - top)/2;
		bottom = z+1;
		System.out.printf("%d %d\n",bottom, left);
	}
}

class Template{
	static Scanner s = new Scanner(System.in);
	final static int nI(){return s.nextInt();}
	final static long nL(){return s.nextLong();}
	final static String nS(){return s.nextLine();}
	/* Renaming of some generic utility classes */
	final static class mylist extends ArrayList<pair>{}
	/* Constants Section */
	final static int INT_MIN = Integer.MIN_VALUE ; final static int INT_MAX = Integer.MAX_VALUE ;
	final static long LONG_MIN = Long.MIN_VALUE ; final static long LONG_MAX = Long.MAX_VALUE ;
	static long MOD = 1000000007 ;
	static void p(){System.out.println();}
	static void pn(long a){System.out.println(a);}
	static void pn(mylist a){System.out.println(a);}
	static void p(long a){System.out.printf("%d ", a);}
	static void p(long a, long b){System.out.printf("%d %d\n", a, b);}
	static void p(long a, long b, long c){System.out.printf("%d %d %d\n", a, b, c);}
	/* Implementation of operations modulo MOD */
	static long inv(long a){ return powM(a,MOD-2) ; }
	static long m(long a,long b){ return (a*b)%MOD ; }
	static long d(long a,long b){ return (a*inv(b))%MOD ; }
	static long powM(long a,long b){
		if(b<0) return powM(inv(a),-b) ;
		long ans=1 ;
		for( ; b!=0 ; a=(a*a)%MOD , b/=2) if((b&1)==1) ans = (ans*a)%MOD ;
		return ans ;
	}
}
class pair implements Comparable<pair>{
	long x ; long y ;
	pair(long _x,long _y){ x=_x ; y=_y ;} 
	public int compareTo(pair p){
		return (this.x<p.x ? -1 : (this.x>p.x ? 1 : (this.y<p.y ? -1 : (this.y>p.y ? 1 : 0)))) ;
	}
	public String toString(){ return "(" + x + " " + y+ ")";}
}