#include <cstdint>
#include <iostream>
#include <queue>
#include <stack>
using namespace std;

int main() {
    int T;
    cin >> T;
    while (T--) {
        stack<char> stk;
        string str;
        cin >> str;

        for (auto& ch : str) {
            if (stk.empty()) {
                stk.push(ch);
            } else if (stk.top() != ch) {
                stk.push(ch);
            } else {
                stk.pop();
                if (ch == 'o' && !stk.empty() && stk.top() == 'O') {  // top 指的是pop后的top
                    stk.pop();
                } else if (ch == 'o') {
                    stk.push('O');
                }
            }
        }
        // 1  两个'o'相遇:
        // [o] + o → [] → [O]

        // 2  两个'O'相遇:
        // [O, O] → [O] → []

        // 3  'O'和'o'相遇:
        // [O] + o → [O, o]

        // 4  特殊规则:
        // [O, o] + o → [O] → [] (因为o + o = O,然后O + O = 爆炸)
        string result;
        while (!stk.empty()) {
            result = stk.top() + result;
            stk.pop();
        }
        cout << result << endl;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")