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.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int n = Integer.parseInt(br.readLine());

		int ans = 0;
		int a = 0;
		int b = 0;
		int c = 0;

		for (int i = 0; i < n; i++) {
			String s = br.readLine();
			ans += count(s);

			String str[] = s.split("");

			if (str[0].equals("B") && str[str.length - 1].equals("A")) {
				c++;
			} else if (str[0].equals("B")) {
				b++;
			} else if (str[str.length - 1].equals("A")) {
				a++;
			}
		}

		int min = 0;
		if (a == 0 && b == 0) {
			min = Math.max(0, c - 1);
		} else {
			min = c + Math.min(a, b);
		}

		System.out.println(ans + min);
	}

	static int count(String str) {
		int i = 0;
		Pattern p = Pattern.compile("AB");
		Matcher m = p.matcher(str);
		while (m.find()) {
			i++;
		}
		return i;
	}
}
