#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long int t;
  cin >> t;
  while (t--) {
    long long int n, i, x, flag = 0, y, pos;
    cin >> n;
    string s;
    cin >> s;
    long long int a[n];
    memset(a, 0, sizeof(a));
    vector<long long int> vi;
    if (n == 1) {
      cout << 1 << '\n';
    } else {
      x = s[0] - '0';
      pos = 0;
      for (i = 0; i < n - 1; i++) {
        if (s[i] > s[i + 1]) {
          a[i] = 2;
          x = s[i] - '0';
          pos = i;
          break;
        }
      }
      for (i = 0; i < n; i++) {
        if (a[i] == 0) {
          y = s[i] - '0';
          if (y >= x) {
            a[i] = 2;
            x = s[i] - '0';
          }
        }
      }
      y = -1;
      for (i = n - 1; i >= 0; i--) {
        if (a[i] == 0) {
          y = s[i] - '0';
          break;
        }
      }
      if (y != -1) {
        for (i = pos - 1; i >= 0; i--) {
          if (s[i] - '0' >= y && s[i] - '0' <= x) {
            a[i] = 2;
          }
        }
      }
      for (i = 0; i < n; i++) {
        if (a[i] == 0) {
          a[i] = 1;
        }
      }
      for (i = 0; i < n; i++) {
        if (a[i] == 1) {
          vi.push_back(s[i] - '0');
        }
      }
      for (i = 0; i < n; i++) {
        if (a[i] == 2) {
          vi.push_back(s[i] - '0');
        }
      }
      for (i = 0; i < n - 1; i++) {
        if (vi[i] > vi[i + 1]) {
          flag = 1;
        }
      }
      if (flag == 1) {
        cout << '-';
      } else {
        for (i = 0; i < n; i++) {
          cout << a[i];
        }
      }
      cout << '\n';
    }
  }
}
