#include <bits/stdc++.h>
  #define hell                         1000000007 
  #define M                            1000000007
  #define Maxi                      10000000000000000
      #define lcm(a,b)                     (a*b)/__gcd(a,b)
      #define ll                           long long

      #define vll                          vector<ll>
      #define vi                           vector<long long>
      #define pll                          vector< pair<ll,ll> >
      #define pb                           push_back
      //#define mp                           make_pair
      #define all(v)                       v.begin(),v.end()
      #define lbnd                         lower_bound
      #define ubnd                         upper_bound
      #define bs                           binary_search
      #define F                            first
      #define S                            second
      #define rep(i,a,b)                   for(i=a;i<b;i++)
      #define parr(a,n)                    for(i=0;i<n;i++) cout<<a[i]<<" ";cout<<endl;
      #define pcont(a)                     for(auto i:a) cout<<i<<" ";cout<<endl;
      #define ret(x)                       return cout<<x,0;
      #define dbg(x)                       cout << #x << " is " << x << endl;
      //#define endl                           '\n'
   
   
      // Debug //
   
      #define trace(x)                 cerr << #x << ": " << x << endl;
      #define trace1(x)                cerr << #x << ": " << x << endl;
      #define trace2(x, y)             cerr << #x << ": " << x << " | " << #y << ": " << y << endl;
      #define trace3(x, y, z)          cerr << #x << ": " << x << " | " << #y << ": " << y << " | " << #z << ": " << z << endl;
      #define trace4(a, b, c, d)       cerr << #a << ": " << a << " | " << #b << ": " << b << " | " << #c << ": " << c << " | " << #d << ": " << d << endl;
      #define trace5(a, b, c, d, e)    cerr << #a << ": " << a << " | " << #b << ": " << b << " | " << #c << ": " << c << " | " << #d << ": " << d << " | " << #e << ": " << e << endl;
      #define trace6(a, b, c, d, e, f) cerr << #a << ": " << a << " | " << #b << ": " << b << " | " << #c << ": " << c << " | " << #d << ": " << d << " | " << #e << ": " << e << " | " << #f << ": " << f << endl;


  using namespace std;




  int main()
  {

        ios_base::sync_with_stdio(false);
        cin.tie(NULL);cout.tie(NULL);
      
        
        string s;
        cin>>s;
        ll n;
        n=s.size();
        ll a[n];

        ll i,j;
        
        rep(i,0,n)
        {
          a[i]=0;
        }
        ll lef[n],rig[n];

        ll pos;
        rep(i,0,n)
        {
          if(s[i]=='R')
          {
            pos=i;
          }
          else
          {
            lef[i]=pos;
          }
        }

        for(i=n-1;i>=0;i--)
        {
          if(s[i]=='L')
          {
            pos=i;
          }
          else
          {
            rig[i]=pos;
          }
        }


        rep(i,0,n)
        {
          if(s[i]=='R')
          {
            ll dif;
            dif=rig[i]-i;
            if(dif%2==1)
            {
              a[rig[i]-1]++;
            }
            else
            {
              a[rig[i]]++;
            }
          }
          else
          {
            ll dif;
            dif=i-lef[i];
            if(dif%2==1)
            {
              a[lef[i]+1]++;
            }
            else
            {
              a[lef[i]]++;
            }
          }
        }
        
        rep(i,0,n)
        {
          cout<<a[i]<<" ";
        }
    return 0;

        
    }



  //10773275
  //4306643

Measured memory_bytes: 3024