s=gets.strip.split('')

groups = []
tmp = []
s.each do |c|
  if tmp.last==?L && c==?R
    groups << tmp
    tmp=[]
  end
  tmp << c
end
groups << tmp

result=[]
groups.each do |group|
  r, l = group.partition {|c| c==?R }
  border_count_r = r.length.odd? ? [r.length/2+1, r.length/2] : [r.length/2, r.length/2]
  border_count_l = l.length.odd? ? [l.length/2, l.length/2+1] : [l.length/2, l.length/2]
  border_count = border_count_r.zip(border_count_l).map {|arr| arr.inject(:+) }
  result.push([0]*(r.length-1))
  result.push(border_count)
  result.push([0]*(l.length-1))
end

puts result.flatten.join (' ')


