using System;
using static System.Console;
using static System.Math;
using System.IO;
using System.Collections.Generic;
namespace I_am_the_green_coder{
    class Inonoa{
        static void Main(){
            char[] s = IChars();
            bool[] toright = new bool[s.Length];
            long[] dis2bound = new long[s.Length];
            long[] bound = new long[s.Length];

            bool ima = true;
            long d2b = 0;
            toright[0] = true;

            for(long i=1;i<s.Length;i++){
                toright[i] = (s[i]=='R');
                if(ima){
                    if(toright[i]){
                        d2b++;
                    }else{
                        for(long j=0;j<d2b+1;j++){
                            dis2bound[i-j-1] = j;
                            bound[i-j-1] = i-1;
                        }
                        dis2bound[i] = 0;
                        bound[i] = i-1;
                        ima = false;
                        d2b = 0;
                    }
                }else{
                    if(toright[i]){
                        ima = true;
                        d2b = 0;
                    }else{
                        d2b ++;
                        dis2bound[i] = d2b;
                        bound[i] = i-d2b-1;
                    }
                }
            }

            long[] ans = new long[s.Length];

            for(long i=0;i<s.Length;i++){
                if(toright[i]){
                    if(dis2bound[i]%2==0){
                        ans[i+dis2bound[i]] ++;
                    }else{
                        ans[i+dis2bound[i]+1] ++;
                    }
                }else{
                    if(dis2bound[i]%2==0){
                        ans[i-dis2bound[i]] ++;
                    }else{
                        ans[i-dis2bound[i]-1] ++;
                    }
                }
            }
            
            Console.WriteLine(string.Join(" ",ans));
        }

        static readonly long MOD = 1000000007;

        ///<summary>a_1, a_2, a_3, ...みたいなの</summary>
        static long[] ILongs(){
            string[] s = ReadLine().Split();
            long[] re = new long[s.Length];
            for(long i=0;i<s.Length;i++){
                re[i] = long.Parse(s[i]);
            }
            return re;
        }

        ///<summary>xooxoxoxxoxo...みたいなの</summary>
        static char[] IChars(){
            return ReadLine().ToCharArray();
        }

        ///<summary>n m とかをちょっとはやくかくだけ</summary>
        static string[] IStrings(){
            return ReadLine().Split();
        }

        ///<summary>n行の入力を取ったり</summary>
        static long[][] ILongLongs(long n){
            long[][] re = new long[n][];
            for(long i=0;i<n;i++){
                string[] s = ReadLine().Split();
                re[i] = new long[s.Length];
                for(long j=0;j<s.Length;j++){
                    re[i][j] = long.Parse(s[j]);
                }
            }
            return re;
        }

        ///<summary>n行の文字列を取ったり</summary>
        static char[][] ICharsChars(long n){
            char[][] re = new char[n][];
            for(long i=0;i<n;i++){
                re[i] = ReadLine().ToCharArray();
            }
            return re;
        }
    }
}

Measured memory_bytes: 15456