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){
        Main start=new Main();
        start.start();

    }
    public Main(){
    }
    public void start(){
        Scanner sc = new Scanner(System.in);
        // 整数の入力
        int N = sc.nextInt();
//        int K=sc.nextInt();
//        System.out.println(N-K);

//        char[][] s=new char[N][];
        int bCount=0;
        int aCount=0;
        int result=0;
        int a=0;
        for(int i=0;i<N;i++){
            char[] t=sc.next().toCharArray();
            for(int j=0;j<t.length-1;j++){
                if(t[j]=='A'&&t[j+1]=='B'){
                    result++;
                }
            }
            if(t[0]=='B'){
                bCount++;
            }
            if(t[t.length-1]=='A'){
                aCount++;
            }
            if(t[0]=='B'||t[t.length-1]=='A'){
                a++;
            }

        }
        System.out.println(result+Math.min(Math.max(a-1,0),Math.min(aCount,bCount)));

    }
    int gcd (int a, int b) {
        int temp;
        while((temp = a%b)!=0) {
            a = b;
            b = temp;
        }
        return b;
    }
}