import java.util.*
import java.math.*

fun main(args: Array<String>) {

//    var (N, K) = readLine()!!.split(" ").map { it.toLong() }
//    var N = readLine()!!.toLong()
    val S = readLine()!!
    val mod = 1000000007

    var R = 0
    var L = 0
    var isL = false

    val list = mutableListOf<Int>()

    for (c in S+"R") {
        if (c == 'R') {
            if (isL) {
                isL = false
                val ave = (R + L) / 2
                if ((R + L) % 2 == 0) {
                    repeat(2) { list.add(ave) }
                }else {
                    val min = Math.min(R, L)
                    var aR = ave
                    var aL = ave

                    if (R > L) aR++
                    else aL++

                    if (min % 2 == 0) {
                        list.add(aR)
                        list.add(aL)
                    } else {
                        list.add(aL)
                        list.add(aR)
                    }
                }
                repeat(L - 1) { list.add(0) }
                R = 0
                L = 0
            }
            R++
        }

        if (c == 'L') {
            if (!isL)
                repeat(R-1) { list.add(0)}
            isL = true
            L++
        }
    }

    println(list.joinToString(" "))

}