Problem:
Score : 400 points

Problem Statement

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.

Sample Input 1

3
ABCA
XBAZ
BAD

Sample Output 1

2

For example, if we concatenate ABCA, BAD and XBAZ in this order, the resulting string ABCABADXBAZ has two occurrences of AB.

Sample Input 2

9
BEWPVCRWH
ZZNQYIJX
BAVREA
PA
HJMYITEOX
BCJHMRMNK
BP
QVFABZ
PRGKSPUNA

Sample Output 2

4

Sample Input 3

7
RABYBBE
JOZ
BMHQUVA
BPA
ISU
MCMABAOBHZ
SZMEHMA

Sample Output 3

4

Solution in Python (3.4.3) (judge verdict: Wrong Answer)

s = []
N = int(input())
for i in range(N):
    s.append(input())

count_A = 0
count_B = 0
count_AB = 0
count = 0

for i in range(N):
    for j in range(len(s[i])):
        tmp_A = count_A
        tmp_B = count_B

        if j == 0 and s[i][j] == "B":
            count_B += 1
        if s[i][j] == "A":
            if j == len(s[i]) - 1:
                count_A += 1
            elif s[i][j+1] == "B":
                count += 1
        if tmp_A != count_A and tmp_B != count_B:
            count_A -= 1
            count_B -= 1
            count_AB += 1

if count_A != 0 or count_B != 0:
    if count_A <= count_B:
        count += count_A
    else:
        count += count_B

    count += count_AB

else:
    count += count_AB - 1

print(count)