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[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        String str = "";
        int countAB = 0;
        int FinishedA = 0;
        int startB = 0;
        int startBFinishA = 0;

        for (int i = 0; i < N; i++) {
            str = sc.next();

            countAB += count(str);

            if (str.charAt(0) == 'B' && str.charAt(str.length() - 1) == 'A') {
                startBFinishA++;
            } else if (str.charAt(0) == 'B') {
                startB++;
            } else if (str.charAt(str.length() - 1) == 'A') {
                FinishedA++;
            }
        }

        if (startB > 0 && FinishedA > 0) {
            countAB += (startB >= FinishedA ? FinishedA : startB);
            countAB += startBFinishA;
        } else if (startB == 0 && FinishedA == 0) {
            countAB += (startBFinishA > 0 ? startBFinishA - 1 : startBFinishA);
        } else {
            countAB += (startBFinishA > 0 ? startBFinishA : 0);
        }
        System.out.println(countAB);
    }

    public static int count(String str) {
        int count = 0;
        for (int index = 0; (index = str.indexOf("AB", index)) != -1; index++) {
            count++;
        }
        return count;
    }
}
