//Caesar Cipher (Java)
import java.util.Scanner;

public class Main {
    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.print("Enter any String: ");
        String str = sc.nextLine();

        System.out.print("Enter the Key: ");
        int key = sc.nextInt();

        String encrypted = encrypt(str, key);
        System.out.println("Encrypted String: " + encrypted);

        String decrypted = decrypt(encrypted, key);
        System.out.println("Decrypted String: " + decrypted);
    }

    static String encrypt(String str, int key) {
        String result = "";
        for (char c : str.toCharArray()) {
            if (Character.isLetter(c)) {
                char base = Character.isUpperCase(c) ? 'A' : 'a';
                c = (char) ((c - base + key) % 26 + base);
            }
            result += c;
        }
        return result;
    }

    static String decrypt(String str, int key) {
        return encrypt(str, 26 - key);
    }
}
