program abc136d
    use,intrinsic :: iso_fortran_env
    implicit none
    character(100000):: s
    integer(int32):: n,i,f,l,m
    integer(int32), allocatable:: ans(:)
    logical,allocatable:: col(:), sep(:)

    read*, s
    n = len_trim(s)
    allocate(col(n-1), sep(0:n), ans(n))
    col(:) = .false.
    sep(:) = .false.
    sep(0) = .true.; sep(n) = .true.

    do i=1,n-1
        if (s(i:i+1) == 'RL') then
            col(i) = .true.
        else if (s(i:i+1) == 'LR') then
            sep(i) = .true.
        end if
    end do
    ! print*, col(:)
    ! print*, sep(1:n-1)
    f=1
    ans(:) = 0
    do i=1,n-1
        if (col(i)) then
            m = i
        else if (sep(i)) then
            l = i
            ! print*, '---',f,l
            if (mod(f,2) /= mod(l,2)) then
                ans(m:m+1) = (l-f+1)/2
                ! print*, ans(m:m+1)
            else if (mod(f,2) /= mod(m,2)) then
                ans(m) = (l-f+1)/2
                ans(m+1) = (l-f+1) - ans(m)
                ! print*, ans(m:m+1)
            else
                ans(m+1) = (l-f+1)/2
                ans(m) = (l-f+1) - ans(m+1)
                ! print*, ans(m:m+1)
            end if
            f = l+1
        end if
    end do

    l=n
    i=n
    ! print*, '---',f,l
    if (mod(f,2) /= mod(l,2)) then
        ans(m:m+1) = (l-f+1)/2
        ! print*, ans(m:m+1)
    else if (mod(f,2) == mod(m,2)) then
        ans(m) = (l-f+1)/2
        ans(m+1) = (l-f+1) - ans(m)
        ! print*, ans(m:m+1)
    else
        ans(m+1) = (l-f+1)/2
        ans(m) = (l-f+1) - ans(m+1)
        ! print*, ans(m:m+1)
    end if 

    print*, ans(:)
end program abc136d