#include #include int main (int argc, char ** argv) { char buffer[21]; int y = 0; int m = 0; int d = 0; int l = 0; int s = 0; unsigned long long int num = 0; while (gets(buffer)) { if (strcmp("end", buffer) == 0) { break; } l = strlen(buffer); if (l > 11 || l < 10) { printf("invalid\n"); continue; } if (buffer[0] == '/' || buffer[1] == '/') { printf("invalid\n"); continue; } y = (buffer[0] - '0') * 10 + (buffer[1] - '0'); if (buffer[2] == '/' || buffer[3] == '/') { printf("invalid\n"); continue; } m = (buffer[2] - '0') * 10 + (buffer[3] - '0'); if (m < 1 || (m > 12 && m < 51) || m > 62) { printf("invalid\n"); continue; } if (buffer[4] == '/' || buffer[5] == '/') { printf("invalid\n"); continue; } d = (buffer[4] - '0') * 10 + (buffer[5] - '0'); if (d < 1 || d > 31) { printf("invalid\n"); continue; } switch (m) { case 2 : if (y % 4 == 0) { if (d > 29) { printf("invalid\n"); continue; } } else { if (d > 28) { printf("invalid\n"); continue; } } break; case 4: case 6: case 9: case 11: if (d == 31) { printf("invalid\n"); continue; } } if (buffer[6] != '/') { printf("invalid\n"); continue; } /* printf("%d %d %d\n", y, m, d); */ if (y >= 10 && y <= 19) { printf("invalid\n"); continue; } if (y >= 54 || (y >= 0 && y <= 9)) { if (l == 10) { printf("invalid\n"); continue; } if (buffer[7] == '/' || buffer[8] == '/' || buffer[9] == '/' || buffer[10] == '/') { printf("invalid\n"); continue; } s = (buffer[7] - '0') * 1000 + (buffer[8] - '0') * 100 + (buffer[9] - '0') * 10 + (buffer[10] - '0'); num = 100000000; num *= y; num += m * 1000000 + d * 10000 + s; if (num % 11 == 0) { if (m > 50) { printf("girl\n"); } else { printf("boy\n"); } } else { printf("invalid\n"); continue; } } else if (y >=20 && y < 54) { if (l == 11) { printf("invalid\n"); continue; } if (buffer[7] == '/' || buffer[8] == '/' || buffer[9] == '/') { printf("invalid\n"); continue; } if (m > 50) { printf("girl\n"); } else { printf("boy\n"); } } } return(0); }