JOI2008予選 問題2@Haskell

countSubstringSub :: String -> String -> Int -> Int
countSubstringSub _ [] count = count + 1
countSubstringSub [] _ count = count
countSubstringSub str sub count | (head str) == (head sub) = countSubstringSub (tail str) (tail sub) count
                                | otherwise = count
countSubstring :: String -> String -> Int -> Int
countSubstring [] _ count = count
countSubstring str sub count = countSubstring (tail str) sub (countSubstringSub str sub count)
main = do line0 <- getLine
          putStrLn $ show $ countSubstring line0 "JOI" 0
          putStrLn $ show $ countSubstring line0 "IOI" 0