#include<stdio.h>
#include<string.h>

char *keypad[] = {
    "","",
    "ABC","DEF"
    "GHI","JKL"
    "MNO","PQRS"
    "TUV","WXYZ"
};
void generatecombination(char digits[],char output[],int index,int length){
    if(index == length) {
        output[index] = '\0';
        printf("%s ",output);
        return;
    }
    int digit = digits[index] - '0';
    
    if (digit < 2 || digit > 9){
        printf("Invalid input\n");
        return;
    }
    char *letters = keypad[digit];
    for (int i = 0; letters[i] != '\0';i++){
        output[index] = letter[i];
        generatecombinations{(digital,output,index + 1,length);
    }
}
int main(){
    char digits[20];
    printf("Enter digits: ");
    scanf("%s",digits);
    
    for (int i = 0; i < strlen(digits);i++){
        if (digits[i] < '0'  || digits[i] > '9'){
            printf("Invalid input\n");
            returm 0;
        }
    }
    
    char output[20];
    generatecombinations(digits,output,0,strlen(digits));
    return 0;
}