module Main where

import           Control.Monad
import           Control.Monad.State
import           Data.Array.IO
import           Data.List
import           Data.List.Split
import           Data.Ord
import qualified Data.Vector.Unboxed as V
import           Text.Printf

main :: IO ()
main = do
  n <- readLn
  ss <- replicateM n getLine :: IO [String]
  let cs = (sum . map count) ss
      as = (length . filter ((==) 'A' . last)) ss
      bs = (length . filter ((==) 'B' . head)) ss
  print $ cs + min as bs
  where
    count (a:b:xs)
      | a == 'A' && b == 'B' = 1 + count (xs)
      | b == 'A' = count (b:xs)
      | otherwise = count xs
    count _ = 0