fun main(args: Array<String>) {
    val N = Integer.parseInt(readInputLine())
    
    var abCount = 0
    var aEndCount = 0
    var bStartCount = 0
    var bStartAEndContains = true
    
    // 部分文字列のABが含まれている数 + min(Aで終わる文字列の数, Bで始まる文字列の数)
    // ただし、Aで終わる文字列の数=Bで始まる文字列の数かつ、すべてのAで終わる文字列がBで始まる場合は1減算する必要がある
    for (i in 1..N) {
        var aFlag = false
        val s = readInputLine()
        if (s[0] == 'B') {
            bStartCount++
        }
        if (s[s.length - 1] == 'A') {
            aEndCount++
            if (s[0] != 'B') {
                bStartAEndContains = false
            }
        }
        for (chr in s) {
            if (chr == 'A') {
                aFlag = true
            } else {
                if (chr == 'B' && aFlag) {
                    abCount++
                }
                aFlag = false
            }
        }
    }

    if (aEndCount == 0) {
        println(abCount)
    } else if (aEndCount == bStartCount && bStartAEndContains) {
        println(abCount + aEndCount - 1)
    } else {
        println(abCount + min(aEndCount, bStartCount))
    }
}
 
fun readInputLine(): String {
    return readLine()!!
}

fun min(a: Int, b: Int): Int {
    if (a < b) return a
    else return b
}
