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
#include<bits/stdc++.h>
using namespace std;

int n;
string s;

int main(){
	cin >> n;
	int ans = 0;
	int a,b,ab;
	a = b = ab = 0;
	for(int j=1;j<=n;j++){
		cin >> s;
		for(int i=0;i<s.size()-1;i++){
			if(s[i] == 'A' && s[i+1] == 'B') ans++;
		}
		int bob = 0;
		if(s[0] == 'B'){
			bob++;
		}
		
		if(s[s.size()-1] == 'A'){
			bob+=2;
		}
		if(bob == 1) b++;
		else if(bob == 2) a++;
		else if(bob == 3) ab++;
	}
	int tmp = max(0,ab-1);
	if(ab > 1) ab = 1;
	if(ab > 0){
		if(a > 0) a--, tmp++;
		if(b > 0) b--, tmp++;
	}
	tmp+=min(a,b);
	printf("%d\n",ans+tmp);
	return 0;
}
