#include #include #include #include #define SIZE 20 using namespace std; char str[SIZE]; int pole[SIZE]; int months[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; int main() { bool inv; while(true) { inv=false; bool boy = true; bool lo = false; fgets(str, SIZE, stdin); if(str[0] == 'e') { //rintf("end\n"); return 0; } if(strlen(str) < 11 || str[6]!='/'){ printf("invalid\n"); continue; } for(int i=0;i<6;i++){ if(str[i]=='/'){ printf("invalid\n"); inv=true; continue; } pole[i]=str[i]-'0'; } for(int i=7;i<10;i++){ if(str[i]=='/'){ printf("invalid\n"); inv=true; continue; } pole[i-1]=str[i]-'0'; } if (inv) continue; if(str[10] != '\n') { pole[9] = str[10] - '0'; lo = true; if(str[11]!='\n') { printf("invalid\n"); continue; } } int y = pole[0]*10 + pole[1]; if(y < 20 && y > 9) { printf("invalid\n"); continue; } if( ((!lo) && (y>53 || y<10)) || (lo && (y<54 && y > 9))) { printf("invalid\n"); continue; } int m = pole[2]*10 + pole[3]; if(m >= 50) { m -= 50; boy = false; } if(m > 12 ) { printf("invalid\n"); continue; } int d = pole[4]*10 +pole[5]; //printf("%d %d %d\n", y, m, d); if(months[m-1] < d) { if(m == 2 && d==29 && (y%4==0)) { //ok //printf("anjdlafjl\n"); }else { printf("invalid\n"); //printf("defja;dfld\n"); continue; } } if(lo) { int odd[2] = {0, 0}; for(int i=0; i<10; i++) { odd[i%2] += pole[i]; } if(abs(odd[0]-odd[1]) % 11 != 0) { printf("invalid\n"); continue; } } if(boy) printf("boy\n"); else printf("girl\n"); } return 0; }