import java.util.*;

import java.lang.*;

import java.io.*;

import java.util.Scanner;



public class init

{

public static void main(String[] args){


Scanner sc = new Scanner(System.in);


int rLength = 0;

String inputLine = "";

Boolean iterationFlag = true;

System.out.print("Rotate length >> ");

rLength = Integer.parseInt(sc.nextLine());

System.out.println("ROT-"+rLength+" Initialized");

while(iterationFlag){


System.out.print("Select type(Encryption: 1, Decryption: 2, Exit: 3) >>");


switch(sc.nextLine()){


case "1": {


System.out.print("Type string to encode >> ");


String output = "";

inputLine = sc.nextLine();

for(int i=0;i<inputLine.length();i++){

char charPointer = inputLine.charAt(i);


if(charPointer!=' ' && charPointer>='A' && charPointer<='Z'){


charPointer -= 65;

charPointer += rLength;

charPointer %= 26;

charPointer += 65;

output += charPointer;


}


else if(charPointer!=' ' && charPointer>='a' && charPointer<='z'){


charPointer -= 97;

charPointer += rLength;

charPointer %= 26;

charPointer += 97;

output += charPointer;


}


else{


output += charPointer;


}


}

System.out.println("Encoded >> " + output);

break;


}


case "2": {


System.out.print("Type string to decode >> ");

String output = "";


inputLine = sc.nextLine();

for(int i=0;i<inputLine.length();i++){


char charPointer = inputLine.charAt(i);


if(charPointer!=' ' && charPointer>='A' && charPointer<='Z'){


charPointer -= 65;

charPointer -= rLength;

charPointer %= 26;

charPointer += 65;

output += charPointer;


}


else if(charPointer!=' ' && charPointer>='a' && charPointer<='z'){


charPointer -= 97;

charPointer -= rLength;

charPointer %= 26;

charPointer += 97;

output += charPointer;


}


else{


output += charPointer;


}


}


System.out.println("Decoded >> " + output);

break;


}


case "3": {


iterationFlag = false;

break;


}


default:{


System.out.println("Type error");


break;


}


}


}


}


}




틀린거 하나도 없는거 같은데 시바