#include <bits/stdc++.h>
using namespace std;
int len(int n) {
int x = 0;
if (n == 0)
return 1;
if (n > 0) {
while (n) {
n /= 10;
x++;
}
}
if (n < 0) {
x = 1;
while (n) {
n /= 10;
x++;
}
}
return x;
}
//判断数字位数
int main() {
int a, b;//每次计算要输入的两个数
string s;//a,b,c三种计算类型
char lc;//若仍为同种类型,lc就是上个s,相当于继承了上次的计算类型
int n;//共运算n次
cin >> n;
int sum;//式子长度
for (int i = 0; i < n; i++) {
cin >> s;
switch (s[0]) {
case 'a': {
cin >> a >> b;
cout << a << "+" << b << "=" << a + b << endl;
lc = 'a';
sum = len(a) + len(b) + len(a + b) + 2;
break;
}
case 'b': {
cin >> a >> b;
cout << a << "-" << b << "=" << a - b << endl;
lc = 'b';
sum = len(a) + len(b) + len(a - b) + 2;
break;
}
case 'c': {
cin >> a >> b;
cout << a << "*" << b << "=" << a *b << endl;
lc = 'c';
sum = len(a) + len(b) + len(a * b) + 2;
break;
}
default : {//如果仍为上种计算类型,则此时输入的相当于a的字符类型
a = 0;
cin >> b;
int l = s.length();
for (int j = 0; j < l; j++)
a = a * 10 + s[j] - '0';//把字符类型a转化为整形a进行计算
switch (lc) {//继续用上次的计算类型进行计算
case 'a': {
cout << a << "+" << b << "=" << a + b << endl;
lc = 'a';
sum = len(a) + len(b) + len(a + b) + 2;
break;
}
case 'b': {
cout << a << "-" << b << "=" << a - b << endl;
lc = 'b';
sum = len(a) + len(b) + len(a - b) + 2;
break;
}
case 'c': {
cout << a << "*" << b << "=" << a *b << endl;
lc = 'c';
sum = len(a) + len(b) + len(a * b) + 2;
break;
}
}
break;
}
}
cout << sum << endl;
}
return 0;
}