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

void main()
{
    string s = readln.strip;
    long[] xs = new long[](s.length);

    char prev = 'x';
    bool last_even = false;
    long last_marked = -1;
    long next = 0;
    long next_1 = 0;
    foreach (i; 0 .. s.length)
    {
        if (prev == 'R' && s[i] == 'L')
        {
            last_marked = i - 1;
            last_even = (i - 1) % 2 == 0;
            if ((i - 1) % 2 == 0)
            {
                xs[i - 1] = next;
                xs[i] = next_1;
            }
            else
            {
                xs[i - 1] = next_1;
                xs[i] = next;
            }
            next = 0;
            next_1 = 0;
        }
        if (s[i] == 'L')
        {
            if (last_even == (i % 2 == 0))
            {
                xs[last_marked]++;
            }
            else
            {
                xs[last_marked + 1]++;
            }
        }
        else
        {
            if (i % 2 == 0)
            {
                next++;
            }
            else
            {
                next_1++;
            }
        }

        prev = s[i];
    }
    xs.map!(x => x.to!string).join(" ").writeln;
}
