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<iostream>

using namespace std;

int main(){
	int N;
	cin>>N;
	string s[12345];
	int a[4]={0};
	int ans=0;
	for(int i=0;i<N;i++){
		cin>>s[i];
		int l=s[i].size();
		for(int j=1;j<l;j++){
			if(s[i][j-1]=='A'&&s[i][j]=='B'){
				ans++;
			}	
		}
		if(s[i][0]=='B'){
				a[0]++;
			}
			if(s[i][l-1]=='A'){
				a[1]++;
			}
			if(s[i][l-1]=='A'&&s[i][0]=='B'){
				a[2]++;
			}
	}
//	cout<<ans<<"  "<<a[0]<<"  "<<a[1]<<"  "<<a[2]<<endl;
	if(a[0]<a[1]){
		ans+=a[0];
	}
	else ans+=a[1];
	if(a[0]==a[1]&&a[0]==a[2]&&a[0]!=0) ans--;
	cout<<ans<<endl;
	return 0;
}