def main():

    from bisect import bisect_left



    s = eval(input())

    n = len(s)



    RL = []

    for i in range(n - 1):

        pair = s[i:i + 2]

        if pair == 'RL':

            RL.append(i)



    cnt = [0] * n

    for i, c in enumerate(s):

        if c == 'R':

            j = bisect_left(RL, i)

            j = RL[j]

            if (j - i) % 2 == 0:

                cnt[j] += 1

            else:

                cnt[j + 1] += 1

        else:

            j = bisect_left(RL, i)

            j -= 1

            j = RL[j]

            if (j - i) % 2 == 0:

                cnt[j] += 1

            else:

                cnt[j + 1] += 1

    print((*cnt))





if __name__ == '__main__':

    main()



# import sys

#

# sys.setrecursionlimit(10 ** 7)

#

# input = sys.stdin.readline

# rstrip()

# int(input())

# map(int, input().split())

def main():

    from itertools import chain, tee

    s = eval(input())

    n = len(s)



    a = (-1 if c == 'L' else 1 for c in s)

    p = -1

    RL = 1

    ctr = [0] * n



    it = chain(a, (1,))

    g1, g2 = tee(it, 2)

    next(g2)

    for i, (x1, x2) in enumerate(zip(g1, g2)):

        if x1 + x2 == 0:

            if RL:

                cnt = i - p

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

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

                p = i

            else:

                cnt = i - p

                ctr[p + 1] += (cnt + 1) // 2

                ctr[p] += cnt // 2

                p = i

            RL ^= 1

    print((*ctr))





if __name__ == '__main__':

    main()



# import sys

#

# sys.setrecursionlimit(10 ** 7)

#

# input = sys.stdin.readline

# rstrip()

# int(input())

# map(int, input().split())

def main():
    from bisect import bisect_left

    s = eval(input())
    n = len(s)
    RL = []
    for i in range(n - 1):
        pair = s[i : i + 2]
        if pair == "RL":
            RL.append(i)
    cnt = [0] * n
    for i, c in enumerate(s):
        if c == "R":
            j = bisect_left(RL, i)
            j = RL[j]
            if (j - i) % 2 == 0:
                cnt[j] += 1
            else:
                cnt[j + 1] += 1
        else:
            j = bisect_left(RL, i)
            j -= 1
            j = RL[j]
            if (j - i) % 2 == 0:
                cnt[j] += 1
            else:
                cnt[j + 1] += 1
    print((*cnt))


if __name__ == "__main__":
    main()
# import sys
#
# sys.setrecursionlimit(10 ** 7)
#
# input = sys.stdin.readline
# rstrip()
# int(input())
# map(int, input().split())

def main():
    from itertools import chain, tee

    s = eval(input())
    n = len(s)
    a = (-1 if c == "L" else 1 for c in s)
    p = -1
    RL = 1
    ctr = [0] * n
    it = chain(a, (1,))
    g1, g2 = tee(it, 2)
    next(g2)
    for i, (x1, x2) in enumerate(zip(g1, g2)):
        if x1 + x2 == 0:
            if RL:
                cnt = i - p
                ctr[i] += (cnt + 1) // 2
                ctr[i + 1] += cnt // 2
                p = i
            else:
                cnt = i - p
                ctr[p + 1] += (cnt + 1) // 2
                ctr[p] += cnt // 2
                p = i
            RL ^= 1
    print((*ctr))


if __name__ == "__main__":
    main()
# import sys
#
# sys.setrecursionlimit(10 ** 7)
#
# input = sys.stdin.readline
# rstrip()
# int(input())
# map(int, input().split())

-    from bisect import bisect_left +    from itertools import chain, tee -    RL = [] -    for i in range(n - 1): -        pair = s[i : i + 2] -        if pair == "RL": -            RL.append(i) -    cnt = [0] * n -    for i, c in enumerate(s): -        if c == "R": -            j = bisect_left(RL, i) -            j = RL[j] -            if (j - i) % 2 == 0: -                cnt[j] += 1 +    a = (-1 if c == "L" else 1 for c in s) +    p = -1 +    RL = 1 +    ctr = [0] * n +    it = chain(a, (1,)) +    g1, g2 = tee(it, 2) +    next(g2) +    for i, (x1, x2) in enumerate(zip(g1, g2)): +        if x1 + x2 == 0: +            if RL: +                cnt = i - p +                ctr[i] += (cnt + 1) // 2 +                ctr[i + 1] += cnt // 2 +                p = i -                cnt[j + 1] += 1 -        else: -            j = bisect_left(RL, i) -            j -= 1 -            j = RL[j] -            if (j - i) % 2 == 0: -                cnt[j] += 1 -            else: -                cnt[j + 1] += 1 -    print((*cnt)) +                cnt = i - p +                ctr[p + 1] += (cnt + 1) // 2 +                ctr[p] += cnt // 2 +                p = i +            RL ^= 1 +    print((*ctr))