local insert = table.insert

local s = io.read()
local n = s:len()

local s_byte_t = {}
for i = 1, n do
	s_byte_t[i] = s:byte(i);
end

local L, R = string.byte("LR", 1, 2)
-- 例の場所に入ったとき偶数回目の移動だったならその場

local next_different_t = {}
local current = R
for i = 1, n do
	if s_byte_t[i] ~= current then
		insert(next_different_t, i - 1)
		if current == R then
			current = L
		else
			current = R
		end
	end
end

local ans_t = {}
for i = 1, n do
	ans_t[i] = 0
end

local next_different_t_len = #next_different_t
current = R
for i = 1, next_different_t_len + 1 do
	local front = (i ~= next_different_t_len + 1) and next_different_t[i] or n
	local front_before = (i - 1 ~= 0) and next_different_t[i - 1] or 0

	if current == R then
		if current == R and (front - front_before) % 2 == 0 then
			ans_t[front]     = ans_t[front] 
				+ (front - front_before) // 2
			ans_t[front + 1] = ans_t[front + 1]
				+ (front - front_before) // 2
		else
			ans_t[front]     = ans_t[front]
				+ (front - front_before) // 2 + 1
			ans_t[front + 1] = ans_t[front + 1]
				+ (front - front_before) // 2
		end
		current = L
	elseif current == L then
		if (front - front_before) % 2 == 0 then
			ans_t[front_before]     = ans_t[front_before]
				+ (front - front_before) // 2
			ans_t[front_before + 1] = ans_t[front_before + 1]
				+ (front - front_before) // 2
		else
			ans_t[front_before]     = ans_t[front_before]
				+ (front - front_before) // 2
			ans_t[front_before + 1] = ans_t[front_before + 1]
				+ (front - front_before) // 2 + 1
		end
		current = R
	end
end

print(table.concat(ans_t, " "))
