#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
****************************************************************/