#include #include #include #include char line[50]; int len; char *p1; char *p2; // jedno lomitko (vra) int check1() { int i; int j = 0; for (i = 0; i < len ; i++) { if (line[i] == '/') { j++; } } return j == 1; } int check2() { int i; for (i = 0; i < len ; i++) { if (line[i] == '/') { return i; } } return -1; //eee } int b; int g; void go() { b = 0; g = 0; int girl; if (!check1()) { printf("invalid\n"); return; } int pos = check2(); p1 = line; p2 = line + pos + 1; line[pos] = '\0'; if (strlen(p1) != 6) { printf("invalid\n"); return; } int den = p1[5] - '0' + (p1[4] - '0') * 10; int mes = p1[3] - '0' + (p1[2] - '0') * 10; int rok = p1[1] - '0' + (p1[0] - '0') * 10; //printf("%d.%d.%d\n", den, mes, rok); if (strlen(p2) == 3) { //stare? if (!(rok >= 20 && rok <= 53)) { printf("invalid\n"); return; } rok = rok + 1900; } else if (strlen(p2) == 4) { //nove if (!(rok >= 54 && rok <= 99 || rok >= 0 && rok <= 9)) { printf("invalid\n"); return; } if (rok < 10) { rok = rok + 2000; } else { rok = rok + 1900; } long long x = 0; int i; int len1 = strlen(p1); int len2 = strlen(p2); x = atoi(p1); x *= 10000; x += atoi(p2); if (x % 11 != 0) { printf("invalid\n"); return; } } else { printf("invalid\n"); return; } if (mes <= 12) { girl = 0; } else { girl = 1; mes = mes - 50; } if (!(mes >= 1 && mes <= 12)) { printf("invalid\n"); return; } if (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) { if (!(mes >= 1 && mes <= 31)) { printf("invalid\n"); return; } } if (mes == 4 || mes == 6 || mes == 9 || mes == 11) { if (!(mes >= 1 && mes <= 30)) { printf("invalid\n"); return; } } if (mes == 2) { if ((rok % 4 == 0 && !(rok % 100 == 0)) || (rok % 400 == 0)) { if (!(den >= 1 && den <= 29)) { printf("invalid\n"); return; } } else { if (!(den >= 1 && den <= 28)) { printf("invalid\n"); return; } } } if (girl == 0) { printf("boy\n"); } else { printf("girl\n"); } } int main() { gets(line); len = strlen(line); while(true) { if(strcmp(line, "end") == 0) { return 0; } go(); gets(line); len = strlen(line); } }