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 Ruby (2.3.3) (judge verdict: Accepted)

=begin
1, 受け取った文字列 chars で 各文字配列にする
2, 各文字を ord で文字コードに変換する(https://docs.ruby-lang.org/ja/latest/method/String/i/ord.html)
3, 対象の文字列から"A".ord の文字コード分を引くことで、アルファベット順の0~25の本来の位置を出力する
4, ズラしたい数値 n を 3, の出力にたす
5, "Z"以降のずれを防ぐため %26 であまりを出す
6, 5, の出力に "A".ordの数値を足して文字コードを元に戻す
7, .chrで文字コードを文字に変換する
=end

n = gets.to_i
s = gets.chomp.chars
a = 'A'.ord

s.each{|v|
  x = ((v.ord - 65 + n) % 26 + a).chr
  printf("%s", x)
}
puts