#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int INF = 1e9 + 10;
const ll INFL = 4e18;

int main() {
    int T;
    cin >> T;

    while (T--) {
        string S;
        cin >> S;

        auto type = [&](char c) {
            if (c == '?') return 0;
            if (c == '+' || c == '-') return 1;
            return 2;
        };

        vector<string> term;
        for (char c : S) {
            string s;
            s.push_back(c);
            if (term.empty()) {
                term.push_back(s);
            } else if (type(c) == type(term.back().back())) {
                term.back().push_back(c);
            } else {
                term.push_back(s);
            }
        }

        bool plus = true;
        for (int i = 0; i < ssize(term); i++) {
            if (term[i] == "+") {
                plus = true;
            } else if (term[i] == "-") {
                plus = false;
            } else if (term[i].front() == '?') {
                bool div = false;
                if (!plus && ssize(term[i]) >= 3) div = true;
                if (!plus && i < ssize(term) - 1 && type(term[i + 1].front()) == 2 && ssize(term[i]) >= 2) div = true;

                if (!plus && ssize(term[i]) >= 2) {
                    term[i][0] = '+';
                    for (int j = 1; j < ssize(term[i]); j++) term[i][j] = '9';
                } else if (div) {
                    term[i][0] = '1';
                    term[i][1] = '+';
                    for (int j = 2; j < ssize(term[i]); j++) term[i][j] = '9';
                    plus = true;
                } else if (plus) {
                    for (int j = 0; j < ssize(term[i]); j++) term[i][j] = '9';
                } else {
                    for (int j = 0; j < ssize(term[i]); j++) term[i][j] = '1';
                }
            }

            cout << term[i];
        }
        cout << '\n';
    }
}