fun main(args: Array<String>) {
    val s = readInputLine().toCharArray()
    val length = s.size
    
    val ls = IntArray(length)
    val rs = IntArray(length)
    var gather = IntArray(length)
    
    for (i in length - 2 downTo 0) {
        if (s[i + 1] == 'L') {
            ls[i] = ls[i + 1] + 1
        }
    }
    
    for (i in 1 until length) {
        if (s[i - 1] == 'R') {
            rs[i] = rs[i - 1] + 1
        }
    }
    
    for (i in 0 until length) {
        val l = ls[i]
        val r = rs[i]
        
        if (l == 0 && r == 0) {
            continue
        }
        
        if (i != 0 && i != length - 1 && s[i - 1] == s[i] && s[i + 1] == s[i]) {
            continue
        }
        
        val gatherEven = l / 2 + r / 2 + 1
//        val gatherOdd = l / 2 + r / 2 + if (l % 2 == 1) 1 else 0 + if (r % 2 == 1) 1 else 0
        gather[i] = gatherEven
    }
    
    println(gather.joinToString(" "))
}

fun readInputLine(): String {
    return readLine()!!
}
