#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
#include<utility>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<math.h>
using namespace std;
#define mod (1000000000+7)
#define N (10007)
#define INF 1e18
typedef long long ll;
typedef pair<ll,ll> P;



unsigned long long popCount64bitB(unsigned long long x) 
{ 
    x = ((x & 0xaaaaaaaaaaaaaaaaUL) >> 1) 
      +  (x & 0x5555555555555555UL); 
    x = ((x & 0xccccccccccccccccUL) >> 2) 
      +  (x & 0x3333333333333333UL); 
    x = ((x & 0xf0f0f0f0f0f0f0f0UL) >> 4) 
      +  (x & 0x0f0f0f0f0f0f0f0fUL); 
    x = ((x & 0xff00ff00ff00ff00UL) >> 8) 
      +  (x & 0x00ff00ff00ff00ffUL); 
    x = ((x & 0xffff0000ffff0000UL) >> 16) 
      +  (x & 0x0000ffff0000ffffUL); 
    x = ((x & 0xffffffff00000000UL) >> 32) 
      +  (x & 0x00000000ffffffffUL); 
    return x; 
} 

int main(void){
    string s;
    cin>>s;
    int n = s.length();
    vector<string>seq;
    for(int i=0;i<n;){
        int j=i;
        string t="";
        while(true){
            if(s[j]==s[i]){
                t.push_back(s[i]);
                i++;
            }
            else break;
        }
        j=i;
        while(true){
            if(i==n)break;
            if(s[j]==s[i]){
                t.push_back(s[i]);
                i++;
            }
            else break;
        }
        seq.push_back(t);
    }
    vector<int>ans;
    for(int i=0;i<seq.size();i++){
        int x = seq[i].length();
        s = seq[i];
        if(x%2==0){
            int y = x/2;
            for(int j=0;j<x;){
                if(s[j]=='R'&&s[j+1]=='L'){
                    ans.push_back(y);
                    ans.push_back(y);
                    j+=2;
                }
                else{
                    ans.push_back(0);
                    j++;
                }
            }
        }
        else{
            int r = 0;
            int y = x/2;
            for(int j=0;j<x;j++){
                if(s[j]=='R')r++;
            }
            int l = x-r;
            if(r>l){
                if((r-1)%2==0){
                    for(int j=0;j<x;){
                        if(s[j]=='R'&&s[j+1]=='L'){
                            ans.push_back(y+1);
                            ans.push_back(y);
                            j+=2;
                        }
                        else{
                            ans.push_back(0);
                            j++;
                        }
                    }
                }
                else{
                    for(int j=0;j<x;){
                        if(s[j]=='R'&&s[j+1]=='L'){
                            ans.push_back(y);
                            ans.push_back(y+1);
                            j+=2;
                        }
                        else{
                            ans.push_back(0);
                            j++;
                        }
                    }
                }
            }
            else{
                if((l-1)%2==0){
                    for(int j=0;j<x;){
                        if(s[j]=='R'&&s[j+1]=='L'){
                            ans.push_back(y);
                            ans.push_back(y+1);
                            j+=2;
                        }
                        else{
                            ans.push_back(0);
                            j++;
                        }
                    }
                }
                else{
                    for(int j=0;j<x;){
                        if(s[j]=='R'&&s[j+1]=='L'){
                            ans.push_back(y+1);
                            ans.push_back(y);
                            j+=2;
                        }
                        else{
                            ans.push_back(0);
                            j++;
                        }
                    }
                }
            }
        }
    }
    for(int i=0;i<ans.size();i++){
        if(i==ans.size()-1)cout<<ans[i]<<endl;
        else cout<<ans[i]<<" ";
    }
	return 0; 
}

Measured memory_bytes: 3832