#include<iostream>
#include<string>
#include<stack>
#include<vector>
using namespace std;

string str;
int cnt[30];
stack<char>st;
vector<char>ans;
bool vis[30];

void solve() {
	ios::sync_with_stdio(false); cin.tie(0);
	int t;
	cin >> t;
	while (t--) {
		fill(cnt, cnt + 28, 0);
		fill(vis, vis + 28, false);
		ans.clear();
		cin >> str;
		int len = str.size();
		for (int i = 0; i < len; i++)
			++cnt[str[i] - 'a'];
		for (int i = 0; i < len; i++) {
			if (vis[str[i] - 'a']) {
				--cnt[str[i] - 'a'];
				continue;
			}
			while (!st.empty() && st.top() <= str[i] && cnt[st.top() - 'a'] > 1) {
				--cnt[st.top() - 'a'];
				vis[st.top() - 'a'] = false;
				st.pop();
			}
			st.push(str[i]);
			vis[str[i] - 'a'] = true;
		}
		while (!st.empty()) {
			ans.push_back(st.top());
			st.pop();
		}
		for (int i = ans.size() - 1; i >= 0; i--) {
			cout << ans[i];
		}
		cout << '\n';
	}
}

int main() {
	solve();
	return 0;
}