import Data.Array

main = do
  s <- getLine
  let ans = compute s
  putStrLn $ unwords $ map show ans

-- L : i-1, R : i+1 という移動を指示する
-- 10回の移動でそれぞれの枠からどこに到達するかを全マス分計算する
-- それをもう一度10回重ねるとどうなるかを全マス分計算すると、10*10=10^2になる
-- それをもう一度10回重ねると、10^2*10 = 10^3 になる
-- これを100回やらないと10^100にならないのか。つらいな。

compute :: String -> [Int]
compute s = elems $ accumArray (+) 0 (0,n) [(x,1) | x <- elems ar]
  where
    n = length s - 1
    ar = (!! 99) $ iterate (tenTimes n) (initial n s)

initial :: Int -> String -> Array Int Int
initial n s = listArray (0, n)
                      [ if c == 'L' then i-1 else i+1 | (c,i) <- zip s [0..] ]

tenTimes :: Int -> Array Int Int -> Array Int Int
tenTimes n ar = let True = seqa ar n in listArray (0, n) $ map f [0..n]
  where
    f x = ar ! (ar ! (ar ! (ar ! (ar ! (ar ! (ar ! (ar ! (ar ! (ar ! x)))))))))

seqa ar k = seq (ar ! k) (if k == 0 then True else seqa ar (pred k))
