from copy import deepcopy

from sys import exit,setrecursionlimit

import math

from collections import defaultdict,Counter,deque

from fractions import Fraction as frac

import bisect

import sys

import logging

import heapq

logging.basicConfig(level=logging.DEBUG)



input = sys.stdin.readline



setrecursionlimit(1000000)



def main():

    S=eval(input())



    mode="L"

    start=0

    base=0

    end=0

    group=[]

    for i in range(len(S)):

        s=S[i]

        if mode=="L" and s==mode:

            mode="R"

            base=i-1

        elif mode=="R" and s==mode:

            mode="L"

            end=i-1

            group.append((start,base,end))

            start=i

        elif s=="\n":

            end=i-1

            group.append((start,base,end))

    # print(group)



    A=[0 for _ in range(len(S)-1)]

    for g in group:

        s=g[0]

        b=g[1]

        e=g[2]

        l=e-s+1

        if l//2==0:

            A[b]=A[b+1]=l/2

        else:

            A[b]=(b-s)//2+(e-b)//2+1

            A[b+1]=l-A[b]

    

    print((*A))



main()
from copy import deepcopy

from sys import exit,setrecursionlimit

import math

from collections import defaultdict,Counter,deque

from fractions import Fraction as frac

import bisect

import sys

import logging

import heapq

logging.basicConfig(level=logging.DEBUG)



input = sys.stdin.readline



setrecursionlimit(1000000)



def main():

    S=eval(input())



    A=[0 for _ in range(len(S)-1)]

    mode="L"

    s=0

    b=0

    e=0

    l=0

    for i in range(len(S)):

        c=S[i]

        if mode=="L" and c==mode:

            mode="R"

            b=i-1

        elif mode=="R" and c==mode:

            mode="L"

            e=i-1



            calc(A,s,b,e)

            

            s=i

        elif c=="\n":

            e=i-1

            calc(A,s,b,e)



    print((*A))



def calc(A, s, b, e):

    l=e-s+1

    if l//2==0:

        A[b]=A[b+1]=l/2

    else:

        A[b]=(b-s)//2+(e-b)//2+1

        A[b+1]=l-A[b]



main()
from copy import deepcopy
from sys import exit, setrecursionlimit
import math
from collections import defaultdict, Counter, deque
from fractions import Fraction as frac
import bisect
import sys
import logging
import heapq

logging.basicConfig(level=logging.DEBUG)
input = sys.stdin.readline
setrecursionlimit(1000000)


def main():
    S = eval(input())
    mode = "L"
    start = 0
    base = 0
    end = 0
    group = []
    for i in range(len(S)):
        s = S[i]
        if mode == "L" and s == mode:
            mode = "R"
            base = i - 1
        elif mode == "R" and s == mode:
            mode = "L"
            end = i - 1
            group.append((start, base, end))
            start = i
        elif s == "\n":
            end = i - 1
            group.append((start, base, end))
    # print(group)
    A = [0 for _ in range(len(S) - 1)]
    for g in group:
        s = g[0]
        b = g[1]
        e = g[2]
        l = e - s + 1
        if l // 2 == 0:
            A[b] = A[b + 1] = l / 2
        else:
            A[b] = (b - s) // 2 + (e - b) // 2 + 1
            A[b + 1] = l - A[b]
    print((*A))


main()

from copy import deepcopy
from sys import exit, setrecursionlimit
import math
from collections import defaultdict, Counter, deque
from fractions import Fraction as frac
import bisect
import sys
import logging
import heapq

logging.basicConfig(level=logging.DEBUG)
input = sys.stdin.readline
setrecursionlimit(1000000)


def main():
    S = eval(input())
    A = [0 for _ in range(len(S) - 1)]
    mode = "L"
    s = 0
    b = 0
    e = 0
    l = 0
    for i in range(len(S)):
        c = S[i]
        if mode == "L" and c == mode:
            mode = "R"
            b = i - 1
        elif mode == "R" and c == mode:
            mode = "L"
            e = i - 1
            calc(A, s, b, e)
            s = i
        elif c == "\n":
            e = i - 1
            calc(A, s, b, e)
    print((*A))


def calc(A, s, b, e):
    l = e - s + 1
    if l // 2 == 0:
        A[b] = A[b + 1] = l / 2
    else:
        A[b] = (b - s) // 2 + (e - b) // 2 + 1
        A[b + 1] = l - A[b]


main()

+    A = [0 for _ in range(len(S) - 1)] -    start = 0 -    base = 0 -    end = 0 -    group = [] +    s = 0 +    b = 0 +    e = 0 +    l = 0 -        s = S[i] -        if mode == "L" and s == mode: +        c = S[i] +        if mode == "L" and c == mode: -            base = i - 1 -        elif mode == "R" and s == mode: +            b = i - 1 +        elif mode == "R" and c == mode: -            end = i - 1 -            group.append((start, base, end)) -            start = i -        elif s == "\n": -            end = i - 1 -            group.append((start, base, end)) -    # print(group) -    A = [0 for _ in range(len(S) - 1)] -    for g in group: -        s = g[0] -        b = g[1] -        e = g[2] -        l = e - s + 1 -        if l // 2 == 0: -            A[b] = A[b + 1] = l / 2 -        else: -            A[b] = (b - s) // 2 + (e - b) // 2 + 1 -            A[b + 1] = l - A[b] +            e = i - 1 +            calc(A, s, b, e) +            s = i +        elif c == "\n": +            e = i - 1 +            calc(A, s, b, e) +def calc(A, s, b, e): +    l = e - s + 1 +    if l // 2 == 0: +        A[b] = A[b + 1] = l / 2 +    else: +        A[b] = (b - s) // 2 + (e - b) // 2 + 1 +        A[b + 1] = l - A[b] + +