#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
#define endl '\n'
#define ll long long
#define pi pair<int, int>
#define f first
#define s second

const int mxn = 100003, k = 4;
int n;
string s;
vector<pi> v;
vector<int> ans;
int dp[mxn];

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	
	cin >> s;
	n = s.size();
	
	v.push_back({-2, -2});
	for(int i = 0; i < n; i++){
		if(s[i] == '#'){
			if(i && s[i - 1] == '#') v.back().s++;
			else v.push_back({i, i});
		}
	}
	v.push_back({n + 1, n + 1});
	
	for(int i = 0; i < 4; i++){
		for(int j = 1; j <= n + 2; j++){
			dp[j] = -1;
			for(int l = 1; l <= min(i, j - 1); l++) if(~dp[j - l - 1]) dp[j] = l;
		}
		bool t = 1;
		ans.clear();
		for(int j = 1; j < v.size(); j++){
			int x = v[j].f - v[j - 1].s - i - 2;
			if(x >= 0 && ~dp[x]){
				for(; x; x -= dp[x] + 1) ans.push_back(dp[x]);
				ans.push_back(v[j].s - v[j].f + i + 1);
			}else{
				t = 0;
				break;
			}
		}
		if(t){
			ans.pop_back();
			cout << ans.size() << endl;
			if(!ans.empty()) cout << ans[0];
			for(int i = 1; i < ans.size(); i++) cout << " " << ans[i];
			cout << endl;
			return 0;
		}
	}
	
	cout << -1 << endl;
	
	return 0;
}