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 Lua (5.3.2) (judge verdict: Accepted)

local n = io.read("*n", "*l")
local cnt = 0
local w_a , w_b, w_ab = 0, 0, 0
for i = 1, n do
  local ss = io.read()
  for p in ss:gmatch("AB") do
    cnt = cnt + 1
  end
  ss = ss:gsub("AB", "")
  local a, b = false, false
  if 0 < #ss then
    if ss:sub(1, 1) == "B" then
      b = true
    end
    if ss:sub(#ss, #ss) == "A" then
      a = true
    end
    if a and b then w_ab = w_ab + 1
    elseif a then w_a = w_a + 1
    elseif b then w_b = w_b + 1
    end
  end
end
if 0 < w_a or 0 < w_b then
  print(cnt + w_ab + math.min(w_a, w_b))
else
  print(cnt + math.max(0, w_ab - 1))
end