/*
 * Cifra de César, permitindo d < 0
 */

#include <stdio.h>
#include <stdlib.h>
  
#define TRUE 1
#define FALSE 0
  
int cesar(char *ch, int d);

int main(int argc, char *argv[])

{
  char c;
  int d = atoi(argv[1]);

  do {
    scanf("%c", &c);
    if (cesar(&c, d))
      printf("%c", c);
  } while (c != '$');

  printf("\n");
  return 0;
}

int cesar(char *ch, int d)
{

  if (d < 0) d = d % 26 + 26;
  
  if ('a' <= *ch && *ch <= 'z') {
    int t = *ch - 'a';
    t = (t + d) % 26;
    *ch = 'a' + t;
    return TRUE;
  }
  if ('A' <= *ch && *ch <= 'Z') {
    int t = *ch - 'A';
    t = (t + d) % 26;
    *ch = 'A' + t;
    return TRUE;
  }
  
  if (*ch == ' ' || *ch == '\n' || *ch == '\t') {
    *ch = ' ';
    return TRUE;
  }
  
  return FALSE;
}
