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
import java.util.Scanner;

public class Main{
  public static int min(int n,int m){
    if(n<m) return n;
    else return m;
  }
  
  
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int n=sc.nextInt();
    String str[]=new String[n];
    int cnt[]=new int[n];
    int flg1=0;
    int flg2=0;
    int flg3=0;
    
    int flg=0;

    for(int i=0;i<n;i++){
      str[i]=sc.next();
    }
    
    int ans=0;
    
    for(int i=0;i<n;i++){
      flg=0;
      for(int j=0;j<str[i].length();j++){
        char s=str[i].charAt(j);
        if(s=='A'){
          flg=1;
        }
        else if(s=='B'&&flg==1){
          ans+=1;
          flg=0;
        }
        else{
          flg=0;
        }
      }
    }
    
    for(int i=0;i<n;i++){
      char s=str[i].charAt(str[i].length()-1);
      char ss=str[i].charAt(0);
      
      if(s=='A') cnt[i]+=1;
      
      if(ss=='B') cnt[i]+=2;
      
      switch(cnt[i]){
        case 1:
          flg1+=1;
          break;
        case 2:
          flg2+=1;
          break;
        case 3:
          flg3+=1;
          break;
        default:
      }
    }
    ans+=min(flg1,flg2);
    if(flg3==0){
      System.out.println(ans);
    }
    else{
      if(flg1+flg2==0){
        System.out.println(ans+flg3-1);
      }
      else{
        System.out.println(ans+flg3);
      }
    }
  }
}
