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)

N=int(input())
s=[]
for i in range(N):
	s.append(input())
count=0
for i in range(N):
	index = s[i].find("AB")
	if index != -1:
		count += 1

a=0
b=0
ba=0


for i in range(N):
	if s[i][-1]=="A" and s[i][0]=="B":
		ba+=1
	elif s[i][-1] == "A":
		a+=1
	elif s[i][0] == "B":
		b+=1
"""
one=min(a,b)
two=0
if ba>0:
	two=ba-1

	if abs(a-b)>0:
		two=ba-1+1
print(one+two+count)
"""

if ba==0:
	count+=min(a,b)
else:#ba aru
	if a == 0 and b == 0:
		count = count + ba -1
	elif a == 0 or b == 0:
		count += ba
	else:
		count = count + ba + min(a,b)
		# min(a, b) : -A,B-同士が結合する数
		# B-AはB-A同士で結合する 数：ba-1
		# 結合したB-Aの最初はB，最後はAになっているので，
		# そのどちらかに-A,B-が結合したものがくっつくき，また結合が1つできる 数：ba-1+1 = ba

print(count)