#include #include #include int y[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int y2[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; inline int num(char c) { return c - '0'; } int main() { char l[100]; while (1) { gets(l); if (!strcmp(l, "end")) break; int len; int state = 0, bad = 0; for (len = 0; l[len]; len++) { if (len == 6) { if (l[len] != '/') { bad = 1; } } else { if (!isdigit(l[len])) { bad = 1; } } } int year = num(l[0])*10+num(l[1]); int month = num(l[2])*10+num(l[3]); int day = num(l[4])*10+num(l[5]); long long int sum = 0; for (int i = 0; i < len; i++) { if (l[i] == '/') continue; sum = sum*10+num(l[i]); } if (len == 10) { if (year > 53 || year < 20) { //printf("A\n"); bad = 1; } } else if (len == 11) { if (year < 54 && year > 9) { //printf("B\n"); bad = 1; } if (sum % 11) { //printf("C\n"); bad = 1; } } else { //printf("D\n"); bad = 1; } if (month > 50) state = 1; month %= 50; if (month > 12 || month == 0) { //printf("E\n"); bad = 1; } if (!(year % 4)) { if (!(day > 0 && day <= y2[month-1])) { //printf("F\n"); bad = 1; } } else { if (!(day > 0 && day <= y[month-1])) { //printf("G\n"); bad = 1; } } if (bad) printf("invalid\n"); else if (state == 0) printf("boy\n"); else printf("girl\n"); } return 0; }