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.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.List;

public class Main {
	static List<Integer> path;

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String[] sa = br.readLine().split(" ");
		int n = Integer.parseInt(sa[0]);
		String[] s = new String[n];
		for (int i = 0; i < n; i++) {
			s[i] = br.readLine();
		}
		br.close();

		int ans = 0;
		int a = 0;
		int b = 0;
		int ab = 0;
		for (int i = 0; i < n; i++) {
			ans += s[i].split("AB", -1).length - 1;
			if (s[i].charAt(s[i].length() - 1) == 'A') {
				if (s[i].charAt(0) == 'B') {
					ab++;
				} else {
					a++;
				}
			} else {
				if (s[i].charAt(0) == 'B') {
					b++;
				}
			}
		}

		int cnt = 0;
		if (ab > 0) {
			if (a > 0) {
				a--;
				cnt++;
			}
			cnt += ab - 1;
			if (b > 0) {
				b--;
				cnt++;
			}
		}
		cnt += Math.min(a, b);
		System.out.println(ans + cnt);
	}
}
