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 C++14 (GCC 5.4.1) (judge verdict: Accepted)

#include <bits/stdc++.h>
using namespace std;

#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define endl "\n"
#define int long long  
#define pb push_back

		   //       |----|       /\      |    |   -----   |
		   //       |   /       /  \     |    |     |     |
		   //       |--/       /----\    |----|     |     |
		   //       |   \     /      \   |    |     |     |
		   //       |    \   /        \  |    |   -----   -------
int n;
int32_t main()
{
	IOS;
	cin>>n;
	string arr[n];
	int c1=0,c2=0,c12=0;
	for(int i=0;i<n;i++)
	{
		cin>>arr[i];
		if(arr[i][0]=='B'&&arr[i][arr[i].length()-1]=='A')
			c12++;
		else if(arr[i][0]=='B')
			c2++;
		else if(arr[i][arr[i].length()-1]=='A')
			c1++;
	}
	int ans=0;
	if(c1!=0&&c12!=0&&c2!=0)
	{
		c1--;
		ans+=c12;
		ans++;
		c2--;
		ans+=min(c1,c2);
	}
	else if(c1==0)
	{
		if(c2==0)
			ans=max(0ll,c12-1);
		else
			ans=c12;
	}
	else if(c2==0)
	{
		if(c1==0)
			ans=max(0ll,c12-1);
		else
			ans=c12;
	}
	else
		ans=min(c1,c2);
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<arr[i].length()-1;j++)
		{
			if(arr[i][j]=='A'&&arr[i][j+1]=='B')
				ans++;
		}
	}
	cout<<ans;
}