#include <bits/stdc++.h>
using namespace std;
template <typename T>
void Deb(T x);
template <typename T>
void Deb1(T x);
template <typename T>
void output(T x[], long long size);
template <typename T>
void input(T x[], long long size);
void Idebug(int n, ...);
void Sdebug(int n, ...);
void swap(long long &A, long long &B);
long double angle(long long px, long long py, long long qx, long long qy,
                  long long rx, long long ry);
long long power(long long a, long long b);
void change(string s[], int n, int j, int &ans) {
  ans++;
  string p = s[j];
  for (int i = 0; i < 4; i++) {
    for (char ch = '0'; ch <= '9'; ch++) {
      p[i] = ch;
      bool flag = true;
      for (int k = 0; k < n; k++) {
        if (p == s[k]) {
          flag = false;
          break;
        }
      }
      if (flag) {
        s[j] = p;
        return;
      }
    }
  }
}
int main() {
  long long T;
  cin >> T;
  while (T--) {
    int n, ans = 0;
    cin >> n;
    string s[n];
    for (int i = 0; i < n; i++) cin >> s[i];
    for (int i = 0; i < n; i++) {
      for (int j = i + 1; j < n; j++) {
        if (s[i] == s[j]) {
          change(s, n, j, ans);
        }
      }
    }
    cout << ans << "\n";
    for (int i = 0; i < n; i++) {
      cout << s[i] << "\n";
    }
  }
  return 0;
}
void Idebug(int n, ...) {
  va_list valist;
  va_start(valist, n);
  for (int i = 0; i < n; i++) {
    cout << va_arg(valist, int) << " ";
  }
  cout << "\n";
}
void Sdebug(int n, ...) {
  va_list valist;
  va_start(valist, n);
  for (int i = 0; i < n; i++) {
    cout << va_arg(valist, char *) << " ";
  }
  cout << "\n";
}
long long power(long long a, long long b) {
  long long ans = 1;
  while (b > 0) {
    if (b % 2) ans = (ans * a) % 1000000007;
    a = (a * a) % 1000000007;
    b /= 2;
  }
  return ans;
}
void swap(long long &A, long long &B) {
  long long t = A;
  A = B;
  B = t;
}
template <typename T>
void output(T x[], long long size) {
  for (long long i = 0; i < size; i++) cout << x[i] << " ";
  cout << "\n";
}
template <typename T>
void input(T x[], long long size) {
  for (long long i = 0; i < size; i++) cin >> x[i];
}
template <typename T>
void Deb(T x) {
  cout << x << " ";
}
template <typename T>
void Deb1(T x) {
  cout << x << "\n";
}
long double angle(long long px, long long py, long long qx, long long qy,
                  long long rx, long long ry) {
  long double b = sqrt((px - rx) * (px - rx) + (py - ry) * (py - ry));
  long double c = sqrt((qx - rx) * (qx - rx) + (qy - ry) * (qy - ry));
  long double a = sqrt((px - qx) * (px - qx) + (py - qy) * (py - qy));
  long double result = acos((c * c + b * b - a * a) / (2 * b * c));
  return result;
}
