#include <bits/stdc++.h>
using namespace std;
int toNumber(string s) {
  int Number;
  if (!(istringstream(s) >> Number)) Number = 0;
  return Number;
}
string toString(int number) {
  ostringstream ostr;
  ostr << number;
  return ostr.str();
}
long long ele(long long a, long long b) {
  if (b == 0) return 1;
  if (b % 2 == 0) {
    return ele(a * a, b / 2);
  } else {
    return a * ele(a * a, b / 2);
  }
}
long long mcd(long long a, long long b) {
  if (a == 0) return b;
  return mcd(b % a, a);
}
double d_abs(long a, long b) {
  if (a > b) {
    return a - b;
  }
  return b - a;
}
char capi(char a) { return toupper(a); }
void solve() {
  int a, b, n;
  string s;
  vector<long long> v;
  string s1, s2, t;
  cin >> s1 >> s2 >> t;
  n = (int)s1.size();
  int m = t.size();
  map<char, char> ma;
  for (int i = 0; i < (int)(n); i++) {
    ma[s1[i]] = s2[i];
    ma[capi(s1[i])] = capi(s2[i]);
  }
  for (int i = 0; i < (int)(m); i++) {
    if (ma.find(t[i]) == ma.end()) {
      cout << t[i];
    } else {
      cout << ma[t[i]];
    }
  }
  cout << endl;
}
int main() {
  int T;
  T = 1;
  while (T--) {
    solve();
  }
}
