#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <stdlib.h>
#include <stdio.h>
#include <sstream>
using namespace std;
int main()
{
int Z;cin>>Z;
cin.ignore();
while(Z--)
{
// cin.ignore();
string s;
getline(cin, s);
if(s.empty()){
getline(cin,s);
}
{
istringstream iss(s);
vector<string> numbers;
do
{
string sub;
iss >> sub;
numbers.push_back(sub);
} while (iss);
string a = numbers[0];
string b = numbers[2];
string result = numbers[4];
int expression=0; int i=0;
while(a[i]!='\0')
{
if(a[i]=='m')
{ expression=1; break;}
i++;
}
i=0;
if(expression!=1)
while(b[i]!='\0')
{
if(b[i]=='m')
{expression=2; break;}
i++;
}
i=0;
if(expression!=1 && expression!=2)
while(result[i]!='\0')
{
if(result[i]=='m')
{expression=3; break;}
i++;
}
int temp1, temp2;
switch( expression )
{
case 1:
temp1 = atoi(result.c_str());
temp2 = atoi(b.c_str());
cout<<temp1-temp2<<" + "<<b<<" = "<<result<<endl; // cout<<"\n";
break;
case 2:
temp1 = atoi(result.c_str());// cout<<temp1<<endl<<temp2<<endl;
cout<<a<<" + "<<temp1-temp2<<" = "<<result<<endl; //cout<<"\n";
break;
case 3:
temp1 = atoi(a.c_str());
temp2 = atoi(b.c_str());
cout<<a<<" + "<<b<<" = "<<temp1+temp2<<endl; // cout<<"\n";
break;
}
}
}
return 0;
}
CgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgaW50IFo7Y2luPj5aOwoKICAgICAgICBjaW4uaWdub3JlKCk7CiAgICB3aGlsZShaLS0pCiAgICB7CiAgICAgIC8vICBjaW4uaWdub3JlKCk7CgogICAgICAgIHN0cmluZyBzOwogICAgICAgIGdldGxpbmUoY2luLCBzKTsKICAgICAgICBpZihzLmVtcHR5KCkpewogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIGdldGxpbmUoY2luLHMpOwogICAgICAgIH0KICAgICAgICB7CiAgICAgICAgaXN0cmluZ3N0cmVhbSBpc3Mocyk7CiAgICAgICAgdmVjdG9yPHN0cmluZz4gbnVtYmVyczsKCiAgICAgICAgZG8KICAgICAgICB7CiAgICAgICAgICAgIHN0cmluZyBzdWI7CiAgICAgICAgICAgIGlzcyA+PiBzdWI7CiAgICAgICAgICAgIG51bWJlcnMucHVzaF9iYWNrKHN1Yik7CiAgICAgICAgfSB3aGlsZSAoaXNzKTsKCiAgICAgICAgc3RyaW5nIGEgPSBudW1iZXJzWzBdOwogICAgICAgIHN0cmluZyBiID0gbnVtYmVyc1syXTsKICAgICAgICBzdHJpbmcgcmVzdWx0ID0gbnVtYmVyc1s0XTsKICAgICAgICBpbnQgZXhwcmVzc2lvbj0wOyBpbnQgaT0wOwoKICAgICAgICB3aGlsZShhW2ldIT0nXDAnKQogICAgICAgIHsKICAgICAgICAgICAgaWYoYVtpXT09J20nKQogICAgICAgICAgICAgICAgeyBleHByZXNzaW9uPTE7ICBicmVhazt9CiAgICAgICAgICAgIGkrKzsKICAgICAgICB9CgogICAgICAgIGk9MDsKICAgICAgICBpZihleHByZXNzaW9uIT0xKQogICAgICAgIHdoaWxlKGJbaV0hPSdcMCcpCiAgICAgICAgewogICAgICAgICAgICBpZihiW2ldPT0nbScpCiAgICAgICAgICAgICAgICB7ZXhwcmVzc2lvbj0yOyAgYnJlYWs7fQogICAgICAgICAgICBpKys7CiAgICAgICAgfQoKICAgICAgICBpPTA7CiAgICAgICAgaWYoZXhwcmVzc2lvbiE9MSAmJiBleHByZXNzaW9uIT0yKQogICAgICAgIHdoaWxlKHJlc3VsdFtpXSE9J1wwJykKICAgICAgICB7CiAgICAgICAgICAgIGlmKHJlc3VsdFtpXT09J20nKQogICAgICAgICAgICAgICAge2V4cHJlc3Npb249MzsgIGJyZWFrO30KICAgICAgICAgICAgaSsrOwogICAgICAgIH0KCiAgICAgICAgICAgIGludCB0ZW1wMSwgdGVtcDI7CiAgICAgICAgc3dpdGNoKCBleHByZXNzaW9uICkKICAgICAgICB7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICAgIHRlbXAxID0gYXRvaShyZXN1bHQuY19zdHIoKSk7CiAgICAgICAgICAgICAgICB0ZW1wMiA9IGF0b2koYi5jX3N0cigpKTsKICAgICAgICAgICAgICAgIGNvdXQ8PHRlbXAxLXRlbXAyPDwiICsgIjw8Yjw8IiA9ICI8PHJlc3VsdDw8ZW5kbDsgLy8gICBjb3V0PDwiXG4iOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICB0ZW1wMSA9IGF0b2kocmVzdWx0LmNfc3RyKCkpOy8vIGNvdXQ8PHRlbXAxPDxlbmRsPDx0ZW1wMjw8ZW5kbDsKICAgICAgICAgICAgICAgIGNvdXQ8PGE8PCIgKyAiPDx0ZW1wMS10ZW1wMjw8IiA9ICI8PHJlc3VsdDw8ZW5kbDsgICAgLy9jb3V0PDwiXG4iOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgICB0ZW1wMSA9IGF0b2koYS5jX3N0cigpKTsKICAgICAgICAgICAgICAgIHRlbXAyID0gYXRvaShiLmNfc3RyKCkpOwogICAgICAgICAgICAgICAgY291dDw8YTw8IiArICI8PGI8PCIgPSAiPDx0ZW1wMSt0ZW1wMjw8ZW5kbDsgIC8vIGNvdXQ8PCJcbiI7CiAgICAgICAgICAgICAgICBicmVhazsKCgoKICAgICAgICB9CiAgICAgIAogICAgICAgIH0KICAgICAgICAKICAgICAgICAKCiAgICB9CgogICAgcmV0dXJuIDA7Cn0K