Snuke has N strings. The i-th string is s_i.

Let us concatenate these strings into one string after arranging them in some order. Find the maximum possible number of occurrences of `AB` in the resulting string.

Constraints

* 1 \leq N \leq 10^{4}
* 2 \leq |s_i| \leq 10
* s_i consists of uppercase English letters.

Input

Input is given from Standard Input in the following format:


N
s_1
\vdots
s_N


Output

Print the answer.

Examples

Input

3
ABCA
XBAZ
BAD


Output

2


Input

9
BEWPVCRWH
ZZNQYIJX
BAVREA
PA
HJMYITEOX
BCJHMRMNK
BP
QVFABZ
PRGKSPUNA


Output

4


Input

7
RABYBBE
JOZ
BMHQUVA
BPA
ISU
MCMABAOBHZ
SZMEHMA


Output

4
import java.util.*;

public class Main{
	public static void main(String[] $){
		Scanner s=new Scanner(System.in);
		int n=s.nextInt();
		ArrayList<String> l=new ArrayList<>();

		int r=0;
		boolean f=false;

		int xa=0;
		int ba=0;
		int bx=0;

		for(int i=0;i<n;++i){
			String v=s.next();
			r+=ab(v);
			if(v.endsWith("A")){
				if(v.startsWith("B"))
					++ba;
				else
					++xa;
			}else{
				if(v.startsWith("B"))
					++bx;
			}
		}
		if(ba>0) {
			r+=ba-1;
			ba=0;
			if(xa>0) {
				--xa;
				++r;
			}
			if(bx>0) {
				--bx;
				++r;
			}
		}
		r+=Math.min(xa,bx);

		System.out.println(r);
		System.err.println(r+" "+xa+" "+ba+" "+bx);
	}

	private static int ab(String v){
		int r=0;
		for(int i=0,e=v.length()-1;i<e;++i){
			if(v.charAt(i)=='A'&&v.charAt(i+1)=='B')
				++r;
		}
		return r;
	}
}