#include <stdio.h>
#include <string.h>

void fib(char bank[][700], char result[700], int n) {
    char temp[700];
    for (int i = 2; i <= n; i++) {
        if (i > 2) {
            strcpy(bank[i - 1], result);
        }
        for (int k = 0; bank[i - 1][k] != 0; k++) {
            result[k] = bank[i - 1][k];
        }
        strcat(result, bank[i - 2]);
    }
}

int main(void) {
    int cases = 0;
    scanf("%d", &cases); getchar();

    for (int i = 1; i <= cases; i++) {
        int n = 0;
        char first[5] = {0};
        char wordBank[700][700] = {0};          // <================== changed here only
        char result[700] = "#";
        scanf("%d %c %c", &n, &first[0], &first[1]); getchar();
        wordBank[0][0] = first[0];
        wordBank[1][0] = first[1];

        if (n == 0) {
            printf("Case #%d: %c\n", i, first[0]);
        } else if (n == 1) {
            printf("Case #%d: %c\n", i, first[1]);
        } else if (n > 1) {
            fib(wordBank, result, n);
            printf("Case #%d: %s\n", i, result);
        }
    }
    return 0;
}
