#include<iostream>
#include<cstring>
using namespace std;

char cesar(char c,int n){
    if(n>0){
        if(c>='a' && c<='z'){
           if(c-'a'>=n){
               return c-n;
           }else{
               return 'z'-(n-(c-'a'))+1;
           }
        }
          if(c>='A' && c<='Z'){
             if(c-'A'>=n){
                return c-n;
             }else{
                 return 'Z'-(n-(c-'A'))+1;
             }
          }
    }else{
        n=(n-n)-n;
        if(c>='a' && c<='z'){
           if(char(c+n)<='z'){
               return c+n;
           }else{
               return 'a'+(n-('z'-c))-1;
           }
        }
          if(c>='A' && c<='Z'){
             if(c-'A'>=n){
                return c+n;
             }else{
                 return 'A'+(n-('Z'-c))-1;
             }
          }
    }
  return c;

}

int main(){
 char a[2000],b[2000];
 int n;
 cin.getline(a,2000);
 cin>>n;
 n=n%28;
 //cout<<strlen(a);
 for(int i=0 ; i<strlen(a) ; i++){
   b[i]=cesar(a[i],n);
 }
 for(int i=0 ; i<strlen(a) ; i++){
   cout<<b[i];
 }
 return 0;
}

