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

import java.util.Arrays;
import java.util.ArrayList;

public class Main {
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		String [] s = new String[N];
		int cnt = 0;
		int cntA = 0;
		int cntB = 0;
		int cntboth = 0;
		for (int i = 0; i < N; i++) {
			 s[i] = sc.next();
			 if(s[i].charAt(0) == 'B') {
				 cntB++;
				 if(s[i].charAt(s[i].length()-1) == 'A') {
					 cntA++;
					 cntboth++;
				 }
			 }
			 else if(s[i].charAt(s[i].length()-1) == 'A') {
				 cntA++;
			 } 
			 for (int j = 0; j < s[i].length() - 1; j++) {
				 if (s[i].charAt(j) == 'A') {
					 if(s[i].charAt(j+1) == 'B') {
						 cnt++;
					 }
				 }
			 }
		}
		if (cntA == 0 || cntB == 0) {
			System.out.println(cnt);
		}
		else if (cntA == cntB && cntA == cntboth) {
			System.out.println(cnt + cntA - 1);
		}
		else if(cntA < cntB) {
			System.out.println(cnt + cntA);
		}
		else {
			System.out.println(cnt + cntB);
		}

	}
}	
