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.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        String po[]=new String[n];
        int a=0,b=0;
        int ab=0;
        int ans=0;
        for(int i=0;i<n;i++){po[i]=sc.next();
        int leng=po[i].length();
        po[i]=po[i].replace("AB","");
        ans+=(leng-po[i].length())/2;
        leng=po[i].length();
        if(leng!=0){
            if(po[i].substring(0,1).equals("B"))b++;
            if(po[i].substring(leng-1,leng).equals("A"))a++;
            if(po[i].substring(0,1).equals("B")&&po[i].substring(leng-1,leng).equals("A"))ab++;
            //System.out.println(a+" "+b+" "+ab);
        }
        }
        //System.out.println(a+" "+b+" "+ab);
        System.out.println((a==b)&&(b==ab)?(a==0)?ans:ans+a-1:ans+Math.min(a,b));
    }
}
