fun main(args: Array<String>) {
//    val s = "RRLRL"
    val s = readLine()!!
    val rlList = mutableListOf<RL>()

    var pre = 'x'
    s.forEachIndexed { index, cur ->
        if (pre == 'R' && cur == 'L') {
            rlList.add(RL(index - 1))
        }
        pre = cur
    }

    pre = 'x'
    val iterator = rlList.iterator()
    var poolRL = iterator.next()

    s.forEachIndexed { index, cur ->
        if (pre == 'L' && cur == 'R') {
//            println("chenged at $index. pre: $pre, cur: $cur")
            poolRL = iterator.next()
        }
        poolRL.join(index)
        pre = cur
    }

    val ite2 = rlList.iterator()
    var resRL = ite2.next()

    (0 until (s.length - 1)).forEach { i ->
        if (i == resRL.rIndex) print("${resRL.rChild} ")
        else if (i == resRL.rIndex + 1) {
            print("${resRL.lChild} ")
            if (ite2.hasNext()) {
                resRL = ite2.next()
            }
        }
        else {
            print("0 ")
        }

    }
    when (s.length - 1) {
        resRL.rIndex -> print("${resRL.rChild} ")
        resRL.rIndex + 1 -> print("${resRL.lChild} ")
        else -> print("0 ")
    }
//    println(rlList)
}

data class RL(val rIndex: Int, var rChild: Int = 0, var lChild: Int = 0) {
    fun join(startIndex: Int) {
        if ((rIndex - startIndex) % 2 == 0) {
            rChild++
        } else {
            lChild++
        }
    }
}
