#include<stdio.h>
#include<str.h>
 

#define ASCII_UPPER_MIN 65
#define ASCII_UPPER_MAX 90
#define ASCII_LOWER_MIN 97
#define ASCII_LOWER_MAX 122

int isValidInput(const char *str, int len) {
    for (int i = 0; i < len; i++) {
        if (!isdigit(str[i])) {
            printf("Invalid Input\n");
            return 0;
        }
    }
    return 1;
}

void decodeMessage(const char *str) {
    int len = strlen(str);
    for (int i = 0; i < len; i += 2) {
        int num = (str[i] - '0') * 10 + (str[i + 1] - '0');
        if ((num >= ASCII_UPPER_MIN && num <= ASCII_UPPER_MAX) ||
            (num >= ASCII_LOWER_MIN && num <= ASCII_LOWER_MAX)) {
            printf("%c", (char)num);
        } else {
            printf("Invalid Input\n");
            return;
        }
    }
    printf("\n");
}

int main() {
    char input[101];
    
    // Read input safely
    fgets(input, sizeof(input), stdin);
    
    // Remove newline character from input if present
    input[strcspn(input, "\n")] = '\0';

    int len = strlen(input);
    
    if (len % 2 != 0) {
        printf("Invalid Input\n");
        return 0;
    }
    
    // Validate input digits
    if (!isValidInput(input, len)) {
        return 0;
    }

    // Decode the message
    decodeMessage(input);

    return 0;
}