output_description: Print the number of children standing on each square after the children
  performed the moves, in order from left to right.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      S
attempt: import glob
  
  # 問題ごとのディレクトリのトップからの相対パス
  REL_PATH = "ABC\\136\\D"
  
  # テスト用ファイル置き場のトップ
  TOP_PATH = "C:\\AtCoder"
  
  
  class Common:
  
      problem = []
      index = 0
  
      def __init__(self, rel_path):
          self.rel_path = rel_path
  
      def initialize(self, path):
          file = open(path)
          self.problem = file.readlines()
          self.index = 0
          return
  
      def input_data(self):
          try:
              IS_TEST
              self.index += 1
              return self.problem[self.index - 1]
  
          except NameError:
              return input()
  
      def resolve(self):
          pass
  
      def exec_resolve(self):
          try:
              IS_TEST
              for path in glob.glob(TOP_PATH + "\\" + self.rel_path + "/*.txt"):
                  print("Test: " + path)
                  self.initialize(path)
                  self.resolve()
                  print("\n\n")
          except NameError:
              self.resolve()
  
  
  class D(Common):
  
      def resolve(self):
  
          S = self.input_data()
          result = [0 for i in range(len(S))]
  
          # 左端から、スタート地点がRの人が到達する場所を探す。
          # movingは探索中に右に移動している人の数。スタート地点が奇数番目なら1つ目の要素に、偶数番目なら2つ目の要素に入れる。
          moving = [0, 0]
          for i in range(len(S) - 1):
              # 右移動が続く場合、現在の位置の人をmovingに追加。
              if S[i] == "R" and S[i + 1] == "R":
                  if (i + 1) % 2 == 1:
                      moving[0] += 1
                  else:
                      moving[1] += 1
  
              # はさまれる場所が見つかった場合はそこまでに見つかった右移動の人の数をresultに足す。
              if S[i] == "R" and S[i + 1] == "L":
                  if (i + 1) % 2 == 1:
                      result[i] += moving[0] + 1
                      result[i + 1] += moving[1]
                  else:
                      result[i] += moving[0]
                      result[i + 1] += moving[1] + 1
                  # 見つかった右移動の人の数をクリア
                  moving = [0, 0]
  
          # 逆向き。右端から、スタート地点がLの人が到達する場所を探す。
          # movingは探索中に左に移動している人の数。スタート地点が奇数番目なら1つ目の要素に、偶数番目なら2つ目の要素に入れる。
          moving = [0, 0]
          for i in range(len(S) - 1, 0, -1):
              # 左移動が続く場合、現在の位置の人をmovingに追加。
              if S[i] == "L" and S[i - 1] == "L":
                  if i % 2 == 1:
                      moving[0] += 1
                  else:
                      moving[1] += 1
  
              # はさまれる場所が見つかった場合はそこまでに見つかった左移動の人の数をresultに足す。
              if S[i] == "L" and S[i - 1] == "R":
                  if i % 2 == 1:
                      result[i] += moving[0] + 1
                      result[i - 1] += moving[1]
                  else:
                      result[i] += moving[0]
                      result[i - 1] += moving[1] + 1
                  # 見つかった右移動の人の数をクリア
                  moving = [0, 0]
  
          for i in range(len(S)):
  
              print(str(result[i]), end=" ")
  
  
  solver = D(REL_PATH)
  solver.exec_resolve()
  
problem_description: Statement
  
  Given is a string S consisting of `L` and `R`.
  
  Let N be the length of S. There are N squares arranged from left to right, and
  the i-th character of S from the left is written on the i-th square from the
  left.
  
  The character written on the leftmost square is always `R`, and the character
  written on the rightmost square is always `L`.
  
  Initially, one child is standing on each square.
  
  Each child will perform the move below 10^{100} times:
  
    * Move one square in the direction specified by the character written in the square on which the child is standing. `L` denotes left, and `R` denotes right.
  
  Find the number of children standing on each square after the children
  performed the moves.
samples: [{"input": "RRLRL", "output": "0 1 2 1 1\n    \n\n  * After each child performed one move, the number of children standing on each square is 0, 2, 1, 1, 1 from left to right.\n  * After each child performed two moves, the number of children standing on each square is 0, 1, 2, 1, 1 from left to right.\n  * After each child performed 10^{100} moves, the number of children standing on each square is 0, 1, 2, 1, 1 from left to right.\n\n* * *"}, {"input": "RRLLLLRLRRLL", "output": "0 3 3 0 0 0 1 1 0 2 2 0\n    \n\n* * *"}, {"input": "RRRLLRLLRRRLLLLL", "output": "0 0 3 2 0 2 1 0 0 0 4 4 0 0 0 0"}]