process :: (Int, Int, Int) -> Char -> (Int, Int, Int)
process (k,ks,ksp) 'K' = (k+1,ks,ksp)
process (k,ks,ksp) 'S' = (k,ks+k,ksp)
process (k,ks,ksp) 'P' = (k,ks,ksp+ks)
process x _ = x

main :: IO ()
main = do
    txt <- getContents
    (putStrLn . show . (\(_,_,x)->x) . (foldl process (0,0,0))) txt
