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 main()
{
  int a=0,b=0,ab=0,abi=0,n,i,res;
  string s;
  string::size_type pos;
  cin >> n;
  for(i=0;i<n;i++){
    cin >> s;
    pos=s.find("AB");
    while(pos!=string::npos){
      pos=s.find("AB",pos+2);
      abi++;
    }
    if(s.front()=='B'){
      if(s.back()=='A') ab++;
      else b++;
    }else if(s.back()=='A') a++;
  }
  res=abi+ab+min(a,b);
  if(a==0&&b==0&&ab>0) res--;
  cout << res << endl;
  return 0;
}