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 Java8 (OpenJDK 1.8.0) (judge verdict: Accepted)

import java.util.*;

/*
問題文
英大文字のみからなる文字列 S があります。
また、整数 N が与えられます。

S の各文字を、アルファベット順で N 個後の文字に置き換えた文字列を出力してください。

ただしアルファベット順で Z の 1 個後の文字は A とみなします。

制約
0≤N≤26
1≤|S|≤10^4
S は英大文字のみからなる

*/

public class Main {
    public static void main(String[] args){

        // 配列
        String item[] = {
            "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"
        };
        List<String> list = Arrays.asList(item); 

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String s = sc.next();

        String temp[] = new String[s.length()];
        String ans = "";

        for (int i = 0; i < s.length(); i++) {
            temp[i] = String.valueOf(s.charAt(i));
        }

        for (int i = 0; i < temp.length; i++) {
            int place = list.indexOf(temp[i]);

            if (place + n <= 25) {
                ans += item[place + n];
            } else {
                ans += item[place + n-26];
            }
        }
        System.out.println(ans);
    }
}