import math, string, itertools, fractions, heapq, collections, re,  array, bisect, sys, random, time, copy, functools, os
sys.setrecursionlimit(10**7)
inf = 10 ** 20
eps = 1.0 / 10**10
mod = 10**9+7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]
def LI(): return [int(x) for x in sys.stdin.readline().split()]
def LI_(): return [int(x)-1 for x in sys.stdin.readline().split()]
def LF(): return [float(x) for x in sys.stdin.readline().split()]
def LS(): return sys.stdin.readline().split()
def _I(): return int(sys.stdin.readline())
def _F(): return float(sys.stdin.readline())
def _pf(s): return print(s, flush=True)
def debug(x, table):
    for name, val in table.items():
        if x is val:
            print('- {} -> {}'.format(name, val), file=sys.stderr)
            return None

def main(S):
    """
    RLの組み合わせに着目
    そうすれば、自ずと最後にいる場所が分かる
    """
    ans = [0 for _ in range(len(S))]
    for i in range(len(S)):
        # i番目のマスから動かす
        if S[i] == 'R':
            # Rにいるとき、最初のLまでの距離を見る。最悪で左端
            first_L_idx = S[i+1:].index('L')
            # 例えば0だったら隣にあるので、最終的に自マスに戻る
            if first_L_idx == 0:
                ans[i] += 1
            else:
                # 一旦Lマスまで移動すると考える。距離を2で割った余り。
                if first_L_idx % 2 == 0:
                    ans[i+first_L_idx] += 1
                else:
                    # Lに止まるパターン
                    ans[i+first_L_idx+1] += 1
        else:
            # Lにいるとき
            # 最初に出会うRをみつける
            first_R_idx = list(reversed(S[:i])).index('R')
            if first_R_idx == 0:
                # 左隣がR
                ans[i] += 1
            else:
                # 一旦Rmade移動
                if first_R_idx % 2 == 0:
                    ans[i-first_R_idx] += 1
                else:
                    ans[i-first_R_idx-1] += 1
    return ans


if __name__ == '__main__':
    if 'LOCAL' in os.environ:
        # ローカル実行時のみ通る処理
        # テストしたい入力を入れておく
        input_values = [
                """RRLRL""",
                """RRLLLLRLRRLL""".strip(),
                """RRRLLRLLRRRLLLLL""".strip()
                ]
        outputs = [
               "0 1 2 1 1",
               "0 3 3 0 0 0 1 1 0 2 2 0",
               "0 0 3 2 0 2 1 0 0 0 4 4 0 0 0 0"
                ]
        for idx, input_value in enumerate(input_values):
            input_value = input_value
            #  N = int(input_value[0])
            #  A = list(map(int, input_value[1].split()))
            ans = main(input_value)
            expected_value = outputs[idx]
            print(ans,'\nexp ',  expected_value)
            #  assert ans == expected_value, 'failed: ans: {ans}, exp: {exp}'.format(ans=ans, exp=expected_value)
    else:
        S = input()
        for i in main(S):
            print(i, end=' ')
        #  print(main(S))




### FIXED CODE ###

import math, string, itertools, fractions, heapq, collections, re,  array, bisect, sys, random, time, copy, functools, os
sys.setrecursionlimit(10**7)
inf = 10 ** 20
eps = 1.0 / 10**10
mod = 10**9+7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]
def LI(): return [int(x) for x in sys.stdin.readline().split()]
def LI_(): return [int(x)-1 for x in sys.stdin.readline().split()]
def LF(): return [float(x) for x in sys.stdin.readline().split()]
def LS(): return sys.stdin.readline().split()
def _I(): return int(sys.stdin.readline())
def _F(): return float(sys.stdin.readline())
def _pf(s): return print(s, flush=True)
def debug(x, table):
    for name, val in table.items():
        if x is val:
            print('- {} -> {}'.format(name, val), file=sys.stderr)
            return None

def main():
    return


if __name__ == '__main__':
    if 'LOCAL' in os.environ:
        # ローカル実行時のみ通る処理
        # テストしたい入力を入れておく
        input_values = [
                """
                """.strip(),
                """
                """.strip()
                ]
        for input_value in input_values:
            input_value = input_value.split('\n')
            #  N = int(input_value[0])
            #  A = list(map(int, input_value[1].split()))
            ans = main()
            expected_value = int(input_value[2])
            assert ans == expected_value, 'failed: ans: {ans}, exp: {exp}'.format(ans=ans, exp=expected_value)
    else:
        A, B, C = LI()
        ans = C- (A-B)
        if ans < 0:
            ans = 0
        print(ans)
        #  print(main())