Problem:
Score : 200 points

Problem Statement

We have a string S consisting of uppercase English letters. Additionally, an integer N will be given.

Shift each character of S by N in alphabetical order (see below), and print the resulting string.

We assume that A follows Z. For example, shifting A by 2 results in C (A \to B \to C), and shifting Y by 3 results in B (Y \to Z \to A \to B).

Constraints

0 \leq N \leq 26

1 \leq |S| \leq 10^4

S consists of uppercase English letters.

Input

Input is given from Standard Input in the following format:

N
S

Output

Print the string resulting from shifting each character of S by N in alphabetical order.

Sample Input 1

2
ABCXYZ

Sample Output 1

CDEZAB

Note that A follows Z.

Sample Input 2

0
ABCXYZ

Sample Output 2

ABCXYZ

Sample Input 3

13
ABCDEFGHIJKLMNOPQRSTUVWXYZ

Sample Output 3

NOPQRSTUVWXYZABCDEFGHIJKLM

Solution in C (GCC 5.4.1) (judge verdict: Accepted)

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>

#define LOOP(i,s,e) for(int i=s;i<e;i++)
#define MAX(a,b) (a>b)?a:b
#define MIN(a,b) (a>b)?b:a
#define MAX3(a,b,c) (a>b)?MAX(a,c):MAX(b,c)
#define MIN3(a,b,c) (a>b)?MIN(b,c):MIN(a,c)

int intcmp(const int *a,const int *b) {return (*a - *b);}

int intrcmp(const int *a,const int *b) {return (*b - *a);}

int dblcmp(const double *a,const double *b) { return (*a < *b) ? -1 : (*a == *b) ? 0 : 1; }

int stcmp(const char *a[],const char *b[]) { return(strcmp(*a, *b)); }

int main() {
	/*char S[4]="";
	scanf("%s",&S);
	if(strcmp("SUN",&S)==0) printf("7\n");
	if(strcmp("MON",&S)==0) printf("6\n");
	if(strcmp("TUE",&S)==0) printf("5\n");
	if(strcmp("WED",&S)==0) printf("4\n");
	if(strcmp("THU",&S)==0) printf("3\n");
	if(strcmp("FRI",&S)==0) printf("2\n");
	if(strcmp("SAT",&S)==0) printf("1\n");*/
	int N=0;
	char S[10000]="";
	scanf("%d",&N);
	scanf("%s",&S);
	for(int i=0;S[i]!='\0';i++){
		if((S[i]+N)<=90){
			S[i]+=N;
		}else{
			S[i]=(S[i]+N)-26;
		}
	}
	printf("%s\n",&S);
	return 0;
}