#include <bits/stdc++.h>
using namespace std;
vector<int> isbandyk(int a, vector<int> prad) {
  vector<int> rez;
  vector<int> ats(prad.size(), -1);
  int pas = 0;
  for (int i = 0; i < prad.size(); i++) {
    if (prad[i] <= a - 1) {
      rez.push_back(prad[i]);
      pas = i;
      ats[i] = 1;
    }
  }
  for (int i = pas + 1; i < prad.size(); i++) {
    if (prad[i] == a) {
      rez.push_back(prad[i]);
      ats[i] = 1;
    }
  }
  for (int i = 0; i < prad.size(); i++) {
    if (prad[i] > a) {
      rez.push_back(prad[i]);
      ats[i] = 2;
    } else if (prad[i] == a && i < pas) {
      rez.push_back(prad[i]);
      ats[i] = 2;
    }
  }
  sort(prad.begin(), prad.end());
  if (prad == rez) {
    return ats;
  } else {
    vector<int> c;
    return c;
  }
  return ats;
}
int main(int argc, const char* argv[]) {
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    vector<int> eil;
    for (int i = 0; i < n; i++) {
      char a;
      cin >> a;
      int b = a - '0';
      eil.push_back(b);
    }
    bool taip = false;
    for (int i = 0; i < 10; i++) {
      vector<int> b = isbandyk(i, eil);
      if (b.size() != 0) {
        for (int i = 0; i < b.size(); i++) cout << b[i];
        taip = true;
        break;
      }
    }
    if (!taip) cout << "-";
    cout << "\n";
  }
  return 0;
}
