import std.stdio;
import std.conv;
import std.string;
import std.typecons;
import std.algorithm;
import std.array;
import std.range;
import std.math;
import std.regex : regex;
import std.container;

void brain(int num, string op) {
	int ii, jj;
	bool f;
	if (num % 2) {
		num--;
		f = 1;
	}
	auto cnt = num;

	foreach (i; 0..num+1) {
		foreach (j; i..num+1) {
			if (i*j != num) continue;
			if (cnt <= i+j+6) continue;
			cnt = i+j+7;
			ii = i;
			jj = j;
		}
	}
	if (cnt != num) {
		foreach (i; 0..ii) write("+");
		write("[>");
		foreach (i; 0..jj) write(op);
		write("<-]>");
		if (f) write(op);
		write(".");
		write("<");
	} else {
		if (f) num++;
		write(">");
		foreach (i; 0..num) write(op);
		write(".<");
	}
}

void main()
{
	auto str = readln.chomp;
	char c = 0;
	foreach (s; str) {
		auto num = s.to!int - c;
		c += num;
		if (num > 0) {
			brain(num, "+");
		} else {
			brain(-num, "-");
		}
	}
}