import Data.List (group, intercalate)

main :: IO ()
main = do
  rls <- map (== 'R') <$> getLine :: IO [Bool]
  let
    (_, _, _, f) = foldl step (1, 0, 0, id) . (++ [True]) $ rls
  putStrLn . intercalate " " . map show . f $ []

step :: (Int, Int, Int, [Int] -> [Int]) -> Bool -> (Int, Int, Int, [Int] -> [Int])
step (i, r, 0, f) True = (i + 1, r + 1, 0, f)
step (i, r, l, f) False = (i + 1, r, l + 1, f)
step (i, r, l, f) True
  =
    let
        (r2, r1) = divMod r 2
        (l2, l1) = divMod l 2
      in
        (i + 1, 1, 0, f . ((replicate (r - 1) 0 ++ [r2 + r1 + l2] ++ [r2 + l2 + l1] ++ replicate (l - 1) 0) ++))
