#include <bits/stdc++.h>
int main(void) {
  int testcases;
  scanf("%d", &testcases);
  for (int loop = 0; loop < testcases; loop++) {
    char a[110], up = 0, low = 0, dig = 0;
    scanf("%s", a);
    int tempdig = -1, templow = -1, tempup = -1;
    for (int i = 0; i < strlen(a); i++) {
      if (a[i] <= 'Z' && a[i] >= 'A') {
        up++;
        tempup = i;
      } else if (a[i] <= '9' && a[i] >= '0') {
        dig++;
        tempdig = i;
      } else {
        low++;
        templow = i;
      }
    }
    if (up * dig * low == 0) {
      int zero = 0;
      if (up == 0) {
        zero++;
      }
      if (dig == 0) {
        zero++;
      }
      if (low == 0) {
        zero++;
      }
      if (zero == 1) {
        if (up == 0) {
          int t;
          if (dig > 1) {
            t = tempdig;
          } else {
            t = templow;
          }
          a[t] = 'A';
        }
        if (low == 0) {
          int t;
          if (up > 1) {
            t = tempup;
          } else {
            t = tempdig;
          }
          a[t] = 'a';
        }
        if (dig == 0) {
          int t;
          if (up > 1) {
            t = tempup;
          } else {
            t = templow;
          }
          a[t] = '1';
        }
      } else {
        if (up != 0) {
          a[0] = '1';
          a[1] = 'a';
        }
        if (low != 0) {
          a[0] = '1';
          a[1] = 'A';
        }
        if (dig != 0) {
          a[0] = 'A';
          a[1] = 'a';
        }
      }
      printf("%s\n", a);
    } else {
      printf("%s\n", a);
    }
  }
  return 0;
}
