import sys

input = lambda : sys.stdin.readline().rstrip()

sys.setrecursionlimit(max(1000, 10**9))

write = lambda x: sys.stdout.write(x+"\n")





s = eval(input())

n = len(s)

nx = []

for i in range(n):

    if s[i]=="R":

        nx.append(i+1)

    else:

        nx.append(i-1)

v = 1

while v<10*n:

    nx = [nx[i] for i in nx]

    v *= 2

ans = [0]*n

for num in nx:

    ans[num] += 1

write(" ".join(map(str, ans)))
import sys

input = lambda : sys.stdin.readline().rstrip()

sys.setrecursionlimit(max(1000, 10**9))

write = lambda x: sys.stdout.write(x+"\n")





s = eval(input())

n = len(s)

def run_length(s):

    if not s:

        return []

    c = s[0]

    v = 1

    n = len(s)

    l = []

    for i in range(1, n):

        if c==s[i]:

            v += 1

        else:

            l.append((c,v))

            c = s[i]

            v = 1

    l.append((c,v))

    return l

l = run_length(s)

ans = []

while l:

    ll,rr = l.pop()[1], l.pop()[1]

    tmp = [0]*(rr+ll)

    tmp[rr-1] = (rr-1)//2 + (ll)//2 + 1

    tmp[rr] = rr+ll - tmp[rr-1]

    ans.append(tmp)

res = []

for i in range(len(ans)-1, -1, -1):

    res.extend(ans[i])

write(" ".join(map(str, res)))
import sys

input = lambda: sys.stdin.readline().rstrip()
sys.setrecursionlimit(max(1000, 10**9))
write = lambda x: sys.stdout.write(x + "\n")
s = eval(input())
n = len(s)
nx = []
for i in range(n):
    if s[i] == "R":
        nx.append(i + 1)
    else:
        nx.append(i - 1)
v = 1
while v < 10 * n:
    nx = [nx[i] for i in nx]
    v *= 2
ans = [0] * n
for num in nx:
    ans[num] += 1
write(" ".join(map(str, ans)))

import sys

input = lambda: sys.stdin.readline().rstrip()
sys.setrecursionlimit(max(1000, 10**9))
write = lambda x: sys.stdout.write(x + "\n")
s = eval(input())
n = len(s)


def run_length(s):
    if not s:
        return []
    c = s[0]
    v = 1
    n = len(s)
    l = []
    for i in range(1, n):
        if c == s[i]:
            v += 1
        else:
            l.append((c, v))
            c = s[i]
            v = 1
    l.append((c, v))
    return l


l = run_length(s)
ans = []
while l:
    ll, rr = l.pop()[1], l.pop()[1]
    tmp = [0] * (rr + ll)
    tmp[rr - 1] = (rr - 1) // 2 + (ll) // 2 + 1
    tmp[rr] = rr + ll - tmp[rr - 1]
    ans.append(tmp)
res = []
for i in range(len(ans) - 1, -1, -1):
    res.extend(ans[i])
write(" ".join(map(str, res)))

-nx = [] -for i in range(n): -    if s[i] == "R": -        nx.append(i + 1) -    else: -        nx.append(i - 1) -v = 1 -while v < 10 * n: -    nx = [nx[i] for i in nx] -    v *= 2 -ans = [0] * n -for num in nx: -    ans[num] += 1 -write(" ".join(map(str, ans))) + + +def run_length(s): +    if not s: +        return [] +    c = s[0] +    v = 1 +    n = len(s) +    l = [] +    for i in range(1, n): +        if c == s[i]: +            v += 1 +        else: +            l.append((c, v)) +            c = s[i] +            v = 1 +    l.append((c, v)) +    return l + + +l = run_length(s) +ans = [] +while l: +    ll, rr = l.pop()[1], l.pop()[1] +    tmp = [0] * (rr + ll) +    tmp[rr - 1] = (rr - 1) // 2 + (ll) // 2 + 1 +    tmp[rr] = rr + ll - tmp[rr - 1] +    ans.append(tmp) +res = [] +for i in range(len(ans) - 1, -1, -1): +    res.extend(ans[i]) +write(" ".join(map(str, res)))