#include <bits/stdc++.h>
using namespace std;
string check(int n){
    if (n==97) {
        return "a";
    } else if (n==98) {
        return "b";
    } else if (n==99) {
        return "c";
    } else if (n==100) {
        return "d";
    } else if (n==101) {
        return "e";
    } else if (n==102) {
        return "f";
    } else if (n==103) {
        return "g";
    } else if (n==104) {
        return "h";
    } else if (n==105) {
        return "i";
    } else if (n==106) {
        return "j";
    } else if (n==107) {
        return "k";
    } else if (n==108) {
        return "l";
    } else if (n==109) {
        return "m";
    } else if (n==110) {
        return "n";
    } else if (n==111) {
        return "o";
    } else if (n==112) {
        return "p";
    } else if (n==113) {
        return "q";
    } else if (n==114) {
        return "r";
    } else if (n==115) {
        return "s";
    } else if (n==116) {
        return "t";
    } else if (n==117) {
        return "u";
    } else if (n==118) {
        return "v";
    } else if (n==119) {
        return "w";
    } else if (n==120) {
        return "x";
    } else if (n==121) {
        return "y";
    } else if (n==122) {
        return "z";
    } else if (n==65) {
        return "A";
    } else if (n==66) {
        return "B";
    } else if (n==67) {
        return "C";
    } else if (n==68) {
        return "D";
    } else if (n==69) {
        return "E";
    } else if (n==70) {
        return "F";
    } else if (n==71) {
        return "G";
    } else if (n==72) {
        return "H";
    } else if (n==73) {
        return "I";
    } else if (n==74) {
        return "J";
    } else if (n==75) {
        return "K";
    } else if (n==76) {
        return "L";
    } else if (n==77) {
        return "M";
    } else if (n==78) {
        return "N";
    } else if (n==79) {
        return "O";
    } else if (n==80) {
        return "P";
    } else if (n==81) {
        return "Q";
    } else if (n==82) {
        return "R";
    } else if (n==83) {
        return "S";
    } else if (n==84) {
        return "T";
    } else if (n==85) {
        return "U";
    } else if (n==86) {
        return "V";
    } else if (n==87) {
        return "W";
    } else if (n==88) {
        return "X";
    } else if (n==89) {
        return "Y";
    } else {
        return "Z";
    }
}

int main(void){
    int n,k;
    string s;
    while (cin>>n) {
        if (n==0) {
            break;
        } else {
            std::deque<int> key;
            for (int i=0;i<n;i++) {
                cin>>k;
                key.emplace_back(k);
            }
            cin>>s;
            int itr=0;
            for (int j=0;j<s.size();j++) {
                if (itr>key.size()-1) {
                    itr=0;
                }
                int hoge=s.at(j);
                for (int l=0;l<key[itr];l++) {
                    hoge--;
                    if (hoge==96) {
                        hoge=90;
                    } else if (hoge==64) {
                        hoge=122;
                    }
                }
                cout<<check(hoge);
                itr++;
            }
            cout<<endl;
        }
    }
}


Measured memory_bytes: 3168