#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string equation;
cin >> equation;
// 找到等号位置并分割字符串
size_t equalPos = equation.find('=');
if (equalPos == string::npos) {
cout << "Impossible!" << endl;
return 0;
}
string leftStr = equation.substr(0, equalPos);
string rightStr = equation.substr(equalPos + 1);
// 将右边字符串转换为整数
long long rightNum;
try {
rightNum = stoll(rightStr);
} catch (...) {
cout << "Impossible!" << endl;
return 0;
}
// 尝试在每个可能的位置插入加号
for (size_t i = 1; i < leftStr.length(); i++) {
string part1 = leftStr.substr(0, i);
string part2 = leftStr.substr(i);
// 避免前导零的情况
if (part1.length() > 1 && part1[0] == '0') continue;
if (part2.length() > 1 && part2[0] == '0') continue;
try {
long long num1 = stoll(part1);
long long num2 = stoll(part2);
if (num1 + num2 == rightNum) {
cout << part1 << '+' << part2 << '=' << rightStr << endl;
return 0;
}
} catch (...) {
// 处理转换异常,继续尝试其他位置
continue;
}
}
// 如果没有找到解决方案
cout << "Impossible!" << endl;
return 0;
}
/**************************************************************
Problem: 1114
User: zhouhongyi
Language: C++
Result: Accepted
Time:8 ms
Memory:2080 kb
****************************************************************/