#ifdef LOCAL
#define _GLIBCXX_DEBUG
#endif

#include <bits/stdc++.h>
using namespace std;

using ll = long long;
using ull = unsigned long long;

using ld = long double;

void solve_test(istream &cin, ostream &cout)
{
	string s;
	cin >> s;

	const int len = 10;

	vector<int> digs(len);
	for (int i = 0; i < len; i++)
		digs[i] = s[i] - '0';

	s = s.substr(len);

	int ans = 0;
	vector<string> res;

	for (int it = 0; it < int(s.size()); it += 2)
	{
		int best = -1, where = -1;
		for (int i = 0; i < len; i++)
		{
			const int cur = digs[i] * digs[(i + 1) % len];
			if (best < cur)
			{
				best = cur;
				where = i;
			}
		}

		ans += digs[where] * digs[(where + 1) % len];
		digs[where] = s[it] - '0';
		digs[(where + 1) % len] = s[it + 1] - '0';
		res.emplace_back(string(2, '-'));

		res.back()[0] = '0' + where;
		res.back()[1] = '0' + ((where + 1) % len);

//		for (int i = 0; i < len; i++)
//			cerr << digs[i];
//		cerr << endl;
	}

	for (const auto &row : res)
		cout << row << "\n";
	cout << ans << endl;
}

void solve(istream &cin = std::cin, ostream &cout = std::cout)
{
	solve_test(cin, cout);
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);

	cout << fixed;

#ifdef LOCAL
	auto st = clock();

	ifstream fin("../input.txt");

	do
	{
		solve(fin);

		cout << "===" << endl;

		string str;
		while (getline(fin, str) && str != string(max(1, (int) str.size()), '='));
	} while (fin);

	cout << setprecision(6) << "clock: " << double(clock() - st) / CLOCKS_PER_SEC << endl;
#else
	solve();
#endif

	return 0;
}
