#include <bits/stdc++.h>
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
using namespace std;
long long int i, j, a, k, b, c, n, t = 1, m, p, q, d, e, f, y, g, z, h, r, l, x,
                                   u, o;
long double aa, bb, ee, dd, ff, kk, gg, cc;
vector<long long int> v, s, vv;
vector<long long int> ss, pp;
map<long long int, long long int> ta, pa, sa, ma;
map<pair<long long int, long long int>, long long int> me, he, mem;
map<string, long long int> se;
priority_queue<long long int> aq, tq, pq, nq, mq, xq;
string st, et, ft, pt, ct;
deque<long long int> de, ne;
unordered_multiset<long long int> li, si;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> t;
  p = 0;
  while (t--) {
    cin >> st;
    for (i = 0; i < st.size(); i++) {
      a = st[i] - '0';
      if (a % 2 == 0) {
        de.push_back(a);
      } else
        ne.push_back(a);
    }
    while (de.size() > 0 || ne.size() > 0) {
      if (de.size() == 0) {
        v.push_back(ne.front());
        ne.pop_front();
      } else if (ne.size() == 0) {
        v.push_back(de.front());
        de.pop_front();
      } else {
        a = de.front();
        b = ne.front();
        if (a < b)
          v.push_back(a), de.pop_front();
        else
          v.push_back(b), ne.pop_front();
      }
    }
    for (i = 0; i < v.size(); i++) cout << v[i];
    cout << endl;
    v.clear();
    de.clear();
    ne.clear();
  }
};
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
