#include <bits/stdc++.h>
using namespace std;
const long long maxn(100005), mod(1e9 + 7);
long long a, b, c, n, t, i;
int main() {
  cin >> t;
  string s;
  vector<int> q[3];
  while (t--) {
    a = 0;
    b = 0;
    c = 0;
    cin >> s;
    for (i = 0; i < 3; i++) q[i].clear();
    for (i = 0; i < s.size(); i++) {
      if (isupper(s[i])) {
        q[0].push_back(i);
      }
      if (islower(s[i])) {
        q[1].push_back(i);
      }
      if (isdigit(s[i])) {
        q[2].push_back(i);
      }
    }
    if (!q[0].size() && !q[1].size()) {
      s[0] = 'A';
      s[1] = 'a';
      cout << s;
    } else if (!q[1].size() && !q[2].size()) {
      s[0] = 'a';
      s[1] = '1';
      cout << s;
    } else if (!q[0].size() && !q[2].size()) {
      s[0] = 'A';
      s[1] = '1';
      cout << s;
    } else if (!q[0].size()) {
      if (q[1].size() >= 2) {
        s[q[1][0]] = 'A';
      } else if (q[2].size() >= 2) {
        s[q[2][0]] = 'A';
      }
      cout << s;
    } else if (!q[1].size()) {
      if (q[0].size() >= 2) {
        s[q[0][0]] = 'a';
      } else if (q[2].size() >= 2) {
        s[q[2][0]] = 'a';
      }
      cout << s;
    } else if (!q[2].size()) {
      if (q[1].size() >= 2) {
        s[q[1][0]] = '1';
      } else if (q[0].size() >= 2) {
        s[q[0][0]] = '1';
      }
      cout << s;
    } else
      cout << s;
    cout << "\n";
  }
}
