import std.algorithm;
import std.array;
import std.container;
import std.conv;
import std.math;
import std.numeric;
import std.range;
import std.stdio;
import std.string;
import std.typecons;

void scan(T...)(ref T a) {
    string[] ss = readln.split;
    foreach (i, t; T) a[i] = ss[i].to!t;
}
T read(T)() { return readln.chomp.to!T; }
T[] reads(T)() { return readln.split.to!(T[]); }
alias readint = read!int;
alias readints = reads!int;

int[] calc(string s) {
    auto xs = new int[s.length];
    xs[] = 1;

    for (int i = 0; i < s.length - 1; i++) {
        if (s[i] =='R' && s[i + 1] == 'R') {
            xs[i + 2] += xs[i];
            xs[i] = 0;
        }
    }

    for (int i = cast(int)s.length - 1; i > 0; i--) {
        if (s[i] == 'L' && s[i - 1] == 'L') {
            xs[i - 2] += xs[i];
            xs[i] = 0;
        }
    }

    return xs;
}

void main() {
    string s = read!string;
    auto ans = calc(s);
    writeln(ans.map!text.join(' '));
}

