#include <bits/stdc++.h>

using namespace std;

int alp1[27] = {'!', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
int alp2[27] = {'!', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
int n;

void print(char c)
{
    int num, res;

    if (c >= 'a' && c <= 'z')
    {
        num = c - 'a' + 1;
        res = num - n;

        if (res <= 0)
        {
            res *= -1;

            cout << (char)alp1[26 - res % 26];

            return;
        }

        if (res >= 27)
        {
            int add = 0;

            if (res % 26 == 0)
            {
                add = 26;
            }

            cout << (char)alp1[res % 26 + add];

            return;
        }

        cout << (char)alp1[res];

        return;
    }
    else
    {
        if (c >= 'A' && c <= 'Z')
        {
            num = c - 'A' + 1;
            res = num - n;

            if (res <= 0)
            {
                res *= -1;

                cout << (char)alp2[26 - res % 26];

                return;
            }

            if (res >= 27)
            {
                int add = 0;

                if (res % 26 == 0)
                {
                    add = 26;
                }

                cout << (char) alp2[res % 26 + add];

                return;
            }

            cout << (char)alp2[res];

            return;
        }
        else
        {
            cout << (char)c;

            return;
        }
    }
}

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    string s;

    getline(cin, s);

    cin >> n;

    for (int i = 0; i < s.size(); i++)
    {
        print(s[i]);
    }

    cout << endl;

    return 0;
}
