#include <bits/stdc++.h>

using namespace std;

const int maxn = 500010, inf = 1e9 + 233;
int n;
char s[maxn];
vector <int> v, len, ans;

int main()
{
    scanf("%s", s + 2);
    n = strlen(s + 2);
    s[0] = '#';
    s[1] = '_';

    s[n + 2] = '_';
    s[n + 3] = '#';
    s[n + 4] = '\0';

    n = strlen(s);

    // printf("%s", s);

    int pre = 0, mn = inf;
    for (int i = 1; i < n; i++)
    if (s[i] == '#')
    {
        v.push_back(i - pre - 1);
        mn = min(mn, v.back());

        pre = i;
        while (i + 1 < n && s[i + 1] == '#')
            i++;
        len.push_back(i - pre + 1);

        pre = i;
    }

    // printf("%s\n", s);

    // for (int j = 0; j < v.size(); j++)
        // printf("%d %d\n", v[j], len[j]);

    for (int i = 0; i < mn; i++)
    {
        bool flag = 1;
        for (int j = 0; j < v.size(); j++)
        {
            int now = v[j] - i;

            if (now == 1)
                continue;
            if (now == 2)
            {
                flag = 0;
                break;
            }

            if (now & 1)
            {
                if (i == 0)
                {
                    flag = 0;
                    break;
                }
            }
            else
            {
                if (i < 2)
                {
                    flag = 0;
                    break;
                }
            }
        }

        if (flag)
        {
            // printf("i:%d\n", i);

            for (int j = 0; j < v.size(); j++)
            {
                int now = v[j] - i;

                // printf("now:%d\n", now);

                if (now == 1)
                {
                    if (j != v.size() - 1)
                    ans.push_back(len[j] + i);
                    continue;
                }
                if (now == 2)
                {
                    flag = 0;
                    break;
                }

                if (now & 1)
                {
                    for (int k = 1; k <= now / 2; k++)
                        ans.push_back(1);
                }
                else
                {
                    for (int k = 1; k <= (now - 3) / 2; k++) 
                        ans.push_back(1);
                    ans.push_back(2);
                }

                if (j != v.size() - 1)
                    ans.push_back(len[j] + i);
            }

            printf("%d\n", ans.size());
            for (int j = 0; j < ans.size(); j++)
                printf("%d ", ans[j]);
            return 0;
        }
    }

    puts("-1");
}