LEFT = "L"
RIGHT = "R"
LOOP_STR="RL"

S = gets.chomp

def S.find_rl_idx
  rl_idxes = []
  pre_s = ""
  self.chars.each_with_index do |s, i|  
    if pre_s == RIGHT && s == LEFT
      rl_idxes << i-1
    end
    pre_s = s
  end
  # 良くないプログラム、だが、rl_idxesが多い場合は総当たりで探した方が早いはずなので、
  # その閾値(今回は適当に10)をきちんと算出してやったら良いかな。
  # ただ、rl_idxesが必要なのはRL左右の両端にしかないような場合など、かなり極端なケースで計算量が
  # S^2になるのを回避するためなので、まぁ...
  rl_idxes.size < 10 ? rl_idxes : nil
end

def find_terminal_idx i, rl_idxes
  if rl_idxes
    rl_idx = if S[i] == RIGHT
      rl_idxes.find{|j| j >= i}
    else
      rl_idxes.reverse.find{|j| j < i}
    end
  else
    rl_idx = if S[i] == RIGHT
      i + S[i..-1].index(LOOP_STR)
    else
      S[0..i].rindex(LOOP_STR)
    end
  end
  used_times = (rl_idx - i).abs
  used_times.even? ? rl_idx : rl_idx + 1
end

rl_idxes = S.find_rl_idx
ans_data = S.size.times.map do |i|
  find_terminal_idx i, rl_idxes
end

ans = Array.new(S.size, 0)
ans_data.each do |datum|
  ans[datum] += 1
end

puts ans.join(" ")
