S = eval(input())

ans = [0] * len(S)





# R と Lを別々に考える

cnt = 0

for i in range(len(S) - 1):

    if S[i] == "R":

        cnt += 1

        if S[i + 1] == "L":

            ans[i] += (cnt + 1) // 2

            ans[i + 1] += cnt // 2

    else:

        cnt = 0



cnt = 0

for i in range(len(S) - 1, 0, -1):

    if S[i] == "L":

        cnt += 1

        if S[i - 1] == "R":

            ans[i] += (cnt + 1) // 2

            ans[i - 1] += cnt // 2

    else:

        cnt = 0



print((*ans))

import sys



sys.setrecursionlimit(10 ** 6)

INF = float("inf")

MOD = 10 ** 9 + 7





def input():

    return sys.stdin.readline().strip()





def main():

    S = input().replace("LR", "L R")

    S = S.split()

    ans = []

    for s in S:

        N = len(s)

        tmp = [0] * N

        cnt = 0

        for i in range(N):

            if s[i] == "R":

                cnt += 1

            else:

                break

        tmp[i] += cnt // 2

        tmp[i - 1] += (cnt + 1) // 2



        cnt = N - cnt

        tmp[i] += (cnt + 1) // 2

        tmp[i - 1] += cnt // 2



        ans += tmp



    print(*ans, sep=" ")





if __name__ == "__main__":

    main()

S = eval(input())
ans = [0] * len(S)
# R と Lを別々に考える
cnt = 0
for i in range(len(S) - 1):
    if S[i] == "R":
        cnt += 1
        if S[i + 1] == "L":
            ans[i] += (cnt + 1) // 2
            ans[i + 1] += cnt // 2
    else:
        cnt = 0
cnt = 0
for i in range(len(S) - 1, 0, -1):
    if S[i] == "L":
        cnt += 1
        if S[i - 1] == "R":
            ans[i] += (cnt + 1) // 2
            ans[i - 1] += cnt // 2
    else:
        cnt = 0
print((*ans))

import sys

sys.setrecursionlimit(10**6)
INF = float("inf")
MOD = 10**9 + 7


def input():
    return sys.stdin.readline().strip()


def main():
    S = input().replace("LR", "L R")
    S = S.split()
    ans = []
    for s in S:
        N = len(s)
        tmp = [0] * N
        cnt = 0
        for i in range(N):
            if s[i] == "R":
                cnt += 1
            else:
                break
        tmp[i] += cnt // 2
        tmp[i - 1] += (cnt + 1) // 2
        cnt = N - cnt
        tmp[i] += (cnt + 1) // 2
        tmp[i - 1] += cnt // 2
        ans += tmp
    print(*ans, sep=" ")


if __name__ == "__main__":
    main()

-S = eval(input()) -ans = [0] * len(S) -# R と Lを別々に考える -cnt = 0 -for i in range(len(S) - 1): -    if S[i] == "R": -        cnt += 1 -        if S[i + 1] == "L": -            ans[i] += (cnt + 1) // 2 -            ans[i + 1] += cnt // 2 -    else: +import sys + +sys.setrecursionlimit(10**6) +INF = float("inf") +MOD = 10**9 + 7 + + +def input(): +    return sys.stdin.readline().strip() + + +def main(): +    S = input().replace("LR", "L R") +    S = S.split() +    ans = [] +    for s in S: +        N = len(s) +        tmp = [0] * N -cnt = 0 -for i in range(len(S) - 1, 0, -1): -    if S[i] == "L": -        cnt += 1 -        if S[i - 1] == "R": -            ans[i] += (cnt + 1) // 2 -            ans[i - 1] += cnt // 2 -    else: -        cnt = 0 -print((*ans)) +        for i in range(N): +            if s[i] == "R": +                cnt += 1 +            else: +                break +        tmp[i] += cnt // 2 +        tmp[i - 1] += (cnt + 1) // 2 +        cnt = N - cnt +        tmp[i] += (cnt + 1) // 2 +        tmp[i - 1] += cnt // 2 +        ans += tmp +    print(*ans, sep=" ") + + +if __name__ == "__main__": +    main()