#include #include using namespace std; void vypis(string a); unsigned int chtoi(char cislo); string a; typedef struct Datum { short rok; short mesic; short den; bool zena; } Datum; int main() { getline(cin,a); while(a!="end") { vypis(a); getline(cin,a); } return 0; } unsigned int chtoi(char cislo) { switch( cislo ) { case '0': return 0; break; case '1': return 1; break; case '2': return 2; break; case '3': return 3; break; case '4': return 4; break; case '5': return 5; break; case '6': return 6; break; case '7': return 7; break; case '8': return 8; break; case '9': return 9; break; } return 10; } void vypis(string a){ Datum date; long long int rc = 0; if(a.length() < 10) { cout << "invalid" << endl; return; } for(unsigned int i = 0; i < a.length(); i++) { if(i==6 && a[i] == '/') { continue; } rc *= 10; if(i==6 && a[i] != '/') { cout << "invalid" << endl; return; } if(i!=6 && a[i] == '/') { cout << "invalid" << endl; return; } if(i>10) { cout << "invalid" << endl; return; } rc += chtoi(a[i]); } date.rok=chtoi(a[0])*10+chtoi(a[1]); date.mesic=chtoi(a[2])*10+chtoi(a[3]); date.den=chtoi(a[4])*10+chtoi(a[5]); date.zena = false; if(date.mesic>12) { date.zena = true; date.mesic -= 50; } if(date.rok > 9 && date.rok < 20) { cout << "invalid" << endl; return; } if((date.rok < 54 && date.rok > 9) && a.length() > 10) { cout << "invalid" << endl; return; } if((date.rok > 53 || date.rok < 10) && a.length() < 11) { cout << "invalid" << endl; return; } if(date.mesic>12 || date.mesic < 1) { cout << "invalid" << endl; return; } if(date.den>31 || date.den < 1) { cout << "invalid" << endl; return; } switch( date.mesic ) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: break; case 2: if((date.rok % 4 == 0)) { if(date.den>29) { cout << "invalid" << endl; return; } } else { if(date.den>28) { cout << "invalid" << endl; return; } } break; default: if(date.den>30) { cout << "invalid" << endl; return; } break; } if((a.length()==11) && (rc%11!=0) && (date.rok > 53 || date.rok < 10)) { cout << "invalid" << endl; return; } if(date.zena) cout << "girl" << endl; else cout << "boy" << endl; }