#include <iostream>
#include<bits/stdc++.h>
#include<stack>
using namespace std;

string judge(string s)
{
    stack<char> arr;
    string ans;
    for(int i=0;i<=s.size()-1;i++)
    {
		if(arr.empty()) 
        {
            arr.push(s[i]);
            continue;
        }
        if(s[i]=='o'&&arr.top()=='o')
        {
            arr.pop();
            s[i]='O';
        }
        if(arr.empty()) 
        {
            arr.push(s[i]);
            continue;
        }
         if(s[i]=='O'&&arr.top()=='O')
        {
            arr.pop();
        }
        else arr.push(s[i]);
    }
    	int j=0;
    	while(!arr.empty())
    	{
        	ans=arr.top()+ans;
        	arr.pop();
    	}
    	
    	return ans;
}
int main() {
	    
	    int t;
    	cin>>t;
    	for(int i=1;i<=t;i++)
    	   {
        	string s;
        	cin>>s;
        	string ans=judge(s);
        	cout<<ans<<endl;
    	   }
		return 0;	
}

1 string的性质和代码应用

2 判断条件if else语句之间的关系思考清楚