#include <bits/stdc++.h>
using namespace std;
long long int gcd(long long int a, long long int b) {
  if (a == 0) {
    return b;
  }
  return gcd(b % a, a);
}
long long int power(long long int x, long long int y, long long int m) {
  long long int res = 1;
  while (y > 0) {
    if (y % 2 == 1) {
      res = (res % m * x % m) % m;
    }
    x = (x % m * x % m) % m;
    y = y / 2;
  }
  return res;
}
pair<long long int, long long int> p[1000003];
pair<long long int, pair<long long int, long long int> > s[1000003];
bool cmp(pair<long long int, pair<long long int, long long int> > p1,
         pair<long long int, pair<long long int, long long int> > p2) {
  if (p1.first != p2.first)
    return (p1.first > p2.first);
  else
    return (p1.second.first < p2.second.first);
}
int main() {
  long long int i, t;
  scanf("%lld", &t);
  while (t--) {
    string s;
    cin >> s;
    long long int len = s.length();
    long long int l = 0, u = 0, d = 0, li, ui, di;
    for (i = 0; i < len; i++) {
      if (s[i] >= 'a' && s[i] <= 'z') {
        l++;
        li = i;
      } else if (s[i] >= 'A' && s[i] <= 'Z') {
        u++;
        ui = i;
      } else {
        d++;
        di = i;
      }
    }
    if (l == 0) {
      if (u == 0) {
        s[0] = 'a';
        s[1] = 'A';
      } else if (d == 0) {
        s[0] = 'a';
        s[1] = '1';
      } else if (d == 1) {
        s[ui] = 'a';
      } else if (u == 1)
        s[di] = 'a';
      else
        s[0] = 'a';
    } else if (u == 0) {
      if (d == 0) {
        s[0] = 'A';
        s[1] = '1';
      } else if (d == 1) {
        s[li] = 'A';
      } else if (l == 1) {
        s[di] = 'A';
      } else
        s[0] = 'A';
    } else if (d == 0) {
      if (l == 1)
        s[ui] = '1';
      else if (u == 1)
        s[li] = '1';
      else
        s[0] = '1';
    }
    cout << s << endl;
  }
  return 0;
}
