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>
#include <string>
using namespace std;

int n, nlb, nra, nab, nlr;
string s;

int main(){
	cin >> n;
	nlb = nra = nab = nlr = 0;
	for (int i = 0; i < n; ++i){
		cin >> s;
		if (s[s.size()-1] == 'A'){
			if (s[0] == 'B') nlr++;
			else nra++;
		}
		else if (s[0] == 'B') nlb++;
		for (size_t i = 0; i < s.size()-1; ++i){
			if (s.substr(i, 2) == "AB") nab++;
		}
	}
	if (nlr > 0){
		if (nlb > 0){nlb--; nab++;}
		if (nra > 0){nra--; nab++;}
		cout << (nab + nlr - 1 + min(nlb, nra));
	}
	else{
		cout << (nab + min(nlb, nra));
	}
}