import Control.Monad import Text.ParserCombinators.Parsec main = do [s,n] <- getLine >>= return . words when (s/="0") $ do case parse gens "" s of Right ss -> putStrLn [(ss ++ repeat '0') !! read n] main gens = many gen >>= return . concat gen = count 1 upper <|> do n <- many1 digit r <- between (char '(') (char ')') gens <|> gen return $ concat $ replicate (read n) r