#include <stdio.h>
int is_valid(char c) {
return (c >= '2' && c <= '9') || c == 'T' || c == 'J' || c == 'Q' || c == 'K' || c == 'A';
}
int get_value(char c) {
if (c >= '2' && c <= '9') {
return c - '0';
} else if (c == 'T' || c == 'J' || c == 'Q' || c == 'K') {
return 10;
} else { // 'A'
return 11;
}
}
int calculate_blackjack_score(char c1, char c2) {
if (!is_valid(c1) || !is_valid(c2)) {
return -1;
}
int v1 = get_value(c1);
int v2 = get_value(c2);
int sum = v1 + v2;
int ace_count = (c1 == 'A') + (c2 == 'A');
if (ace_count == 2) {
sum -= 10;
}
return sum;
}
int main() {
char card1, card2;
scanf(" %c %c", &card1
, &card2
);
int score = calculate_blackjack_score(card1, card2);
if (score == -1) {
if (!is_valid(card1)) {
printf("*** Would be invalid, %c is not a valid card\n", card1
); } else {
printf("*** Would be invalid, %c is not a valid card\n", card2
); }
} else {
printf("The score is %d\n", score
); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgaXNfdmFsaWQoY2hhciBjKSB7CiAgICByZXR1cm4gKGMgPj0gJzInICYmIGMgPD0gJzknKSB8fCBjID09ICdUJyB8fCBjID09ICdKJyB8fCBjID09ICdRJyB8fCBjID09ICdLJyB8fCBjID09ICdBJzsKfQoKaW50IGdldF92YWx1ZShjaGFyIGMpIHsKICAgIGlmIChjID49ICcyJyAmJiBjIDw9ICc5JykgewogICAgICAgIHJldHVybiBjIC0gJzAnOwogICAgfSBlbHNlIGlmIChjID09ICdUJyB8fCBjID09ICdKJyB8fCBjID09ICdRJyB8fCBjID09ICdLJykgewogICAgICAgIHJldHVybiAxMDsKICAgIH0gZWxzZSB7IC8vICdBJwogICAgICAgIHJldHVybiAxMTsKICAgIH0KfQoKaW50IGNhbGN1bGF0ZV9ibGFja2phY2tfc2NvcmUoY2hhciBjMSwgY2hhciBjMikgewogICAgaWYgKCFpc192YWxpZChjMSkgfHwgIWlzX3ZhbGlkKGMyKSkgewogICAgICAgIHJldHVybiAtMTsKICAgIH0KICAgIGludCB2MSA9IGdldF92YWx1ZShjMSk7CiAgICBpbnQgdjIgPSBnZXRfdmFsdWUoYzIpOwogICAgaW50IHN1bSA9IHYxICsgdjI7CiAgICBpbnQgYWNlX2NvdW50ID0gKGMxID09ICdBJykgKyAoYzIgPT0gJ0EnKTsKICAgIGlmIChhY2VfY291bnQgPT0gMikgewogICAgICAgIHN1bSAtPSAxMDsKICAgIH0KICAgIHJldHVybiBzdW07Cn0KCmludCBtYWluKCkgewogICAgY2hhciBjYXJkMSwgY2FyZDI7CiAgICBwcmludGYoIkVudGVyIGNhcmRzOiAiKTsKICAgIHNjYW5mKCIgJWMgJWMiLCAmY2FyZDEsICZjYXJkMik7CiAgICAKICAgIGludCBzY29yZSA9IGNhbGN1bGF0ZV9ibGFja2phY2tfc2NvcmUoY2FyZDEsIGNhcmQyKTsKICAgIAogICAgaWYgKHNjb3JlID09IC0xKSB7CiAgICAgICAgaWYgKCFpc192YWxpZChjYXJkMSkpIHsKICAgICAgICAgICAgcHJpbnRmKCIqKiogV291bGQgYmUgaW52YWxpZCwgJWMgaXMgbm90IGEgdmFsaWQgY2FyZFxuIiwgY2FyZDEpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHByaW50ZigiKioqIFdvdWxkIGJlIGludmFsaWQsICVjIGlzIG5vdCBhIHZhbGlkIGNhcmRcbiIsIGNhcmQyKTsKICAgICAgICB9CiAgICB9IGVsc2UgewogICAgICAgIHByaW50ZigiVGhlIHNjb3JlIGlzICVkXG4iLCBzY29yZSk7CiAgICB9CiAgICAKICAgIHJldHVybiAwOwp9