#include <bits/stdc++.h>
using namespace std;
const int N = 500005, mod = 1000000007;
long long int a, b, c, d, e, f, g;
pair<long long int, long long int> arr[N];
string s;
vector<long long int> v;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> g;
  while (g--) {
    cin >> a;
    for (long long int i = 1; i <= a; i++) {
      cin >> arr[i].first;
      arr[i].second = i;
    }
    sort(arr + 1, arr + a + 1);
    long long int i = 1, ans = 0;
    for (long long int k = 1000; k <= 10000; k += 1000) {
      long long int h[10] = {0};
      long long int y = i;
      while (arr[i].first < k and i <= a) {
        h[(arr[i].first % 1000) / 100]++;
        i++;
      }
      long long int x = 0;
      for (long long int j = y; j < i - 1; j++) {
        if (arr[j].first == arr[j + 1].first) {
          while (h[x]) x++;
          ans++;
          arr[j].first -= ((arr[j].first % 1000) / 100) * 100;
          arr[j].first += x * 100;
          h[x] = 1;
        }
      }
      if (i > a) {
        break;
      }
    }
    cout << ans << endl;
    for (long long int j = 1; j <= a; j++) {
      for (long long int k = 1; k <= a; k++) {
        if (arr[k].second == j) {
          if (arr[k].first < 1000) {
            cout << 0;
          }
          if (arr[k].first < 100) {
            cout << 0;
          }
          if (arr[k].first < 10) {
            cout << 0;
          }
          cout << arr[k].first << endl;
          break;
        }
      }
    }
  }
}
