#include #include bool chc(char c1) { return c1>='0' && c1<='9'; } int tc(char c1, char c2) { return (c1-'0')*10+(c2-'0'); } bool chm(int d, int m, int y) { if (m<1 || m>12) return false; if (d<1) return false; if (m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) { if (d>31) return false; else return true; } if (m==4 || m==6 || m==9 || m==11) { if (d>30) return false; else return true; } if (y%4==0 && (d%100!=0 || d%400==0)) { if (d>29) return false; else return true; } else { if (d>28) return false; else return true; } } #define dbk1 int check(char *v) { if (!( chc(v[0]) && chc(v[1]) && chc(v[2]) && chc(v[3]) && chc(v[4]) && chc(v[5]) && v[6]=='/' && chc(v[7]) && chc(v[8]) && chc(v[9]) && ((chc(v[10]) && v[11]=='\n' ) || v[10]=='\n') )) return -1; #ifdef dbk printf("checkp1"); #endif int dlzka=11; if (v[10]=='\n') dlzka=10; int yy=tc(v[0],v[1]); int mm=tc(v[2],v[3]); int dd=tc(v[4],v[5]); if (dlzka==11) { char vv[30]; strcpy(vv,v); for (int i=6;i50) { mm-=50; girl=1; } if (dlzka==11) { if (yy<54) yy+=2000; else yy+=1900; } else { yy+=1900; } if (!chm(dd,mm,yy)) return -1; #ifdef dbk printf("checkp3"); #endif if (yy<1920 || yy>2009) return -1; #ifdef dbk printf("checkp4"); #endif if (yy<1954 && dlzka==11) return -1; #ifdef dbk printf("checkp5"); #endif if (yy>=1954 && dlzka==10) return -1; return girl; } int main() { while (true) { char v[25]; fgets(v,22,stdin); if (strcmp(v,"end\n")==0) { return 0; } int x=check(v); if (x==-1) { printf("invalid\n"); } else if (x==0) { printf("boy\n"); } else { printf("girl\n"); } } return 0; }