import java.util.Scanner; // Import scannner
import java.util.Arrays; // Import Array class to access Java array

public class Combination {
    static void combinationClass(String input[], String data[], int start, int end, int index, int size) {
        if (index == size) {
            for (int j = 0; j < size; j++)
                System.out.print(data[j]);
            System.out.println("");
            return;
        }
        for (int i=start; i<=end && end-i+1 >= size-index; i++) {
            data[index] = input[i];
            combinationClass(input, data, i+1, end, index+1, size);
        }
    }

    static void printCombination(String arr[], int n, int size) {
        String data[]=new String[size];
        combinationClass(arr, data, 0, n-1, 0, size);
    }

    public static void main (String[] args) {
        String[] alphabet = {"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"};

        Scanner caseObj = new Scanner(System.in);
        System.out.println("\nEnter the amount of case (T): ");
        int T = caseObj.nextInt();

        Scanner sc = new Scanner(System.in);
        int[] arrA = new int[T];
        int[] arrB = new int[T];
        System.out.println("\nINPUT (N <space> K) <enter>: ");
        for (int i = 0; i < arrA.length; i++) {
            arrA[i] = sc.nextInt();
            arrB[i] = sc.nextInt();
        }

        System.out.println("");
        int count = 1;
        for (int i = 0; i < arrA.length; i++) {
            int indeksss = arrA[i];
            int finalsize = arrB[i];

            int indeks = indeksss - 1;
            String[] input = Arrays.copyOfRange(alphabet, 0, indeks + 1);

            System.out.println("Case #"+count+++":");
            int size = finalsize;
            int n = input.length;
            printCombination(input, n, size);
        }
    }
}
