object Main{
 
def main(args: Array[String]): Unit = {

    val arr1 = io.StdIn.readLine().split(' ')
    val s = arr1(0).toString
    val n = s.length

    var map =  scala.collection.immutable.Map.empty[Int, (Int, Int, Int)]

    var countR = 0
    var countL = 0
    var countI = 0
    
  s.indices.map{
      i =>
        
      if(i != s.length - 1){
        if(s(i) == 'R') countR += 1
        if(s(i) == 'L') countL += 1
        if(s(i + 1) == 'L' && s(i) == 'R') {
          map = map + (countI -> (i, countR, countL))
          
          countR = 0
          countI += 1
        }
        
        if(s(i + 1) == 'R' && s(i) == 'L'){
          val prev = map(countI - 1)
          map = map.updated(countI - 1, (prev._1, prev._2, countL))
          countL = 0
        }
      }else{
          val prev = map(countI - 1)
          map = map.updated(countI - 1, (prev._1, prev._2, countL+1))
      }
        
    }
  
  var arrayBuffer = scala.collection.mutable.ArrayBuffer.fill(n)(0)
  map.foreach{
    case(key, (i, r, l)) => 
    var numR = 0
    var numL = 0
    
    if(r % 2 == 0) {
      numR += r/2
      numL += r/2
    }else{
      numR += (r+1) / 2
      numL += (r - 1) / 2
    }
    
    if(l % 2 == 0){
      numR += l/2
      numL += l/2
    }else{
      numR += (l - 1) / 2
      numL += (l + 1) / 2
    }
    
    arrayBuffer = arrayBuffer.updated(i, numR)
    arrayBuffer = arrayBuffer.updated(i + 1, numL)
    
  }
  
  arrayBuffer.foreach(i => print(i + " "))
}
}