#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef unsigned long long int ull;
inline void smax(int &x, int y) { x = max(x, y); }
inline void smin(int &x, int y) { x = min(x, y); }
ll gcd(ll a, ll b) { return ((b == 0) ? a : gcd(b, a % b)); }
int main() {
  std::ios::sync_with_stdio(false);
  cin.tie(NULL);
  int n;
  cin >> n;
  string s;
  cin >> s;
  int ca = 0, cb = 0, cc = 0;
  for (__typeof(n) i = (0) - ((0) > (n)); i != (n) - ((0) > (n));
       i += 1 - 2 * ((0) > (n))) {
    if (s[i] == '0')
      ca++;
    else if (s[i] == '1')
      cb++;
    else
      cc++;
  }
  if (ca < n / 3) {
    for (__typeof(n) i = (0) - ((0) > (n)); i != (n) - ((0) > (n));
         i += 1 - 2 * ((0) > (n))) {
      if (s[i] == '1' && cb > n / 3) {
        cb--;
        ca++;
        s[i] = '0';
      } else if (s[i] == '2' && cc > n / 3) {
        cc--;
        ca++;
        s[i] = '0';
      }
      if (ca == n / 3) break;
    }
  }
  if (cc < n / 3) {
    for (int i = n - 1; i >= 0; i--) {
      if (s[i] == '0' && ca > n / 3) {
        ca--;
        cc++;
        s[i] = '2';
      } else if (s[i] == '1' && cb > n / 3) {
        cb--;
        cc++;
        s[i] = '2';
      }
      if (cc == n / 3) break;
    }
  }
  if (cb < n / 3) {
    int cnt = 0;
    for (__typeof(n) i = (0) - ((0) > (n)); i != (n) - ((0) > (n));
         i += 1 - 2 * ((0) > (n))) {
      if (s[i] == '2' && cc > n / 3) {
        s[i] = '1';
        cb++;
        cc--;
      } else if (s[i] == '0' && cnt == n / 3) {
        s[i] = '1';
        cb++;
        ca--;
      }
      if (s[i] == '0') cnt++;
      if (cb == n / 3) break;
    }
  }
  cout << s;
}
