S = gets.chomp.split('')
ans = Array.new(S.length).map{0}
POS = {'R' => 1, "L" => -1}
MAX = {'L' => 0, 'R' => Float::INFINITY}
def get_char char, i
  case char
  when 'L' then i = i < MAX['L'] ? MAX['L'] : i
  when 'R' then i = i
  end
  loop do
    if S[i] == char
      MAX['L'] = i if char == 'L'
      break i
    end
    i -= POS[char]
  end
end
0.upto(S.length-1).each do |i|
  right = S[i] == "R"
  add_i = nil
  if right
    first_L = get_char('L', i)
    diff = first_L - i
    add_i = diff.odd? ? first_L-1 : first_L
  else
    first_R = get_char('R', i)
    diff = i - first_R
    add_i = diff.odd? ? first_R+1 : first_R
  end
  ans[add_i] += 1
end
puts ans.join(' ')