#include <fstream>
#include <string>
//#include <algorithm>
//nclude <iostream>
#include <vector>
#include <stack>
using namespace std;

ifstream fin("chandelier.in");
ofstream fout("chandelier.out");

struct Chandelier {
	int first, stn;
	vector<Chandelier *> chi;

	void add(Chandelier *c) {
		chi.push_back(c);
	}

	void calcstn();
	void output();
};

void Chandelier::calcstn() {
		int N = chi.size();
		stn=1000000000;
//		cout << N << "@";
		if (chi.size()==0) {
			stn=1;
			first=-1;
			return;
		}
		int i;
		for (i=0; i<chi.size(); i++) {
			chi[i]->calcstn();
//			cout << chi[i]->stn << "#";
		}
		for (i=0; i<chi.size(); i++) {
			int currstn=0;
			
			for (int j=0; j<N; j++) {
				if (j+chi[(i+j)%N]->stn > currstn) {
					currstn = j+chi[(i+j)%N]->stn;
				}
			}
//			cout << currstn << "!";

			if (currstn < stn) {
				stn = currstn;
				first=i;
			}
		}
//		cout << stn <<"?";
	}

void Chandelier::output() {
//		cout << first;
		if (chi.size() == 0) {
			fout << "a";
			return;
		}
		for (int i=0; i<chi.size(); i++) {
			chi[(first+i)%chi.size()]->output();
		}
		fout << chi.size();
	}


int main() {
	string s;
	fin >> s;

	stack<Chandelier *> st, tmp;
	int i;
	for (i=0; i<s.size(); i++) {
		if (s[i] == 'a') {
			st.push(new Chandelier);
		}
		else if (s[i] >= '1' && s[i] <= '9') {
			Chandelier *c = new Chandelier;
			char j;
			for (j ='1'; j <= s[i]; j++) {
				tmp.push(st.top());
				st.pop();
			}
			for (j ='1'; j <= s[i]; j++) {
				c->add(tmp.top());
				tmp.pop();
			}
			st.push(c);
		}
	}

	Chandelier *c = st.top();
	c->calcstn();
	fout << c->stn << endl;
	c->output();
	fout << endl;

	return 0;
}
