Given is a string S consisting of `L` and `R`.

Let N be the length of S. There are N squares arranged from left to right, and the i-th character of S from the left is written on the i-th square from the left.

The character written on the leftmost square is always `R`, and the character written on the rightmost square is always `L`.

Initially, one child is standing on each square.

Each child will perform the move below 10^{100} times:

* Move one square in the direction specified by the character written in the square on which the child is standing. `L` denotes left, and `R` denotes right.



Find the number of children standing on each square after the children performed the moves.

Constraints

* S is a string of length between 2 and 10^5 (inclusive).
* Each character of S is `L` or `R`.
* The first and last characters of S are `R` and `L`, respectively.

Input

Input is given from Standard Input in the following format:


S


Output

Print the number of children standing on each square after the children performed the moves, in order from left to right.

Examples

Input

RRLRL


Output

0 1 2 1 1


Input

RRLLLLRLRRLL


Output

0 3 3 0 0 0 1 1 0 2 2 0


Input

RRRLLRLLRRRLLLLL


Output

0 0 3 2 0 2 1 0 0 0 4 4 0 0 0 0
import decimal
decimal.getcontext().prec = 100
def sum1(pre,l,r):
    l=max(l,0)
    if(l==0):
        return pre[r]
    return pre[r] - pre[l - 1]

y=(raw_input())
x=list(y)

r=0
l=0
ans=[]
flag=0
for i in x:
    if(i=="R"):
        if(flag==1):
            if((l+r)%2==0):
                ans.append([(l+r)/2,(l+r)/2])
            else:
                if(l%2==0):
                    ans.append([(l+r)/2+1,(l+r)/2])
                else:
                    ans.append([(l+r)/2,(l+r)/2+1])    
            r=0
            l=0
            flag=0

        r=r+1
    elif(i=='L'):
        l=l+1
        flag=1    
if((l+r)%2==0):
    ans.append([(l+r)/2,(l+r)/2])
else:
    if(l%2==0):
        ans.append([(l+r)/2+1,(l+r)/2])
    else:
        ans.append([(l+r)/2,(l+r)/2+1])    
    
p=y.split("RL")
s=""
# print p
# print ans
for i in range(len(p)):
    try:
        s=s+"0 "*len(p[i])+str(ans[i][0])+" "+str(ans[i][1])+" "
    except:    
        s=s+"0 "*len(p[i])
print s
# ans=[1]*len(x)
# for i in range(10):
#     temp=ans[:]

#     for j in range(len(x)):
#         if x[j]=="R":
#             if(ans[j]!=0):
#                 temp[j+1]+=ans[j]

#                 temp[j]=temp[j]-ans[j]
#         else:
#             if(ans[j]!=0):
#                 temp[j-1]+=ans[j]
#                 temp[j]=temp[j]-ans[j]
#     ans=temp[:]
#     print ans
# print "".join(map(str,ans))