#include #include using namespace std; int days[100] = {31,29,31,30,31,30,31,31,30,31,30,31}; int main() { string in; long rc; int year,month,day,id; bool debug = false; cin >> in; while (in != "end") { if (debug)cout << in << endl; rc = 0; year = 0; month = 0; day = 0; id = 0; bool valid = true; if ((in.size() < 10) || (in.size() > 11)) { if (debug) cout << "zla dlzka" << endl; valid = false; } if ((in[0] <= '9')&&(in[0] >= '0')) { year = (in[0] - '0')*10; rc = (in[0] - '0'); }else{ if (debug) cout << "zly rok 1" << endl; valid = false; } if ((in[1] <= '9')&&(in[1] >= '0')) { year += (in[1] - '0'); rc *= 10; rc += (in[1] - '0'); }else{ if (debug) cout << "zly rok 2" << endl; valid = false; } if ((year < 20) && (year > 9)) { valid = false; } if ((in[2] <= '9')&&(in[2] >= '0')) { month = (in[2] - '0')*10; rc *= 10; rc += (in[2] - '0'); }else{ if (debug) cout << "zly mesiac 1" << endl; valid = false; } if ((in[3] <= '9')&&(in[3] >= '0')) { month += (in[3] - '0'); rc *= 10; rc += (in[3] - '0'); }else{ if (debug) cout << "zly mesiac 2" << endl; valid = false; } if (!(((month%50) > 0) && ((month%50) < 13))) { if (debug) cout << "zly mesiac (>13)" << endl; valid = false; } if ((in[4] <= '9')&&(in[4] >= '0')) { day = (in[4] - '0')*10; rc *= 10; rc += (in[4] - '0'); }else{ if (debug) cout << "zly rok 1" << endl; valid = false; } if ((in[5] <= '9')&&(in[5] >= '0')) { day += (in[5] - '0'); rc *= 10; rc += (in[5] - '0'); }else{ if (debug) cout << "zly rok 2" << endl; valid = false; } if (!((day >= 1) && (day <= days[(month%50)-1]))) { if (debug) cout << "zly den (pocet v mesiaci)" << endl; valid = false; } if (in[6] != '/') { if (debug) cout << "neni lomitko" << endl; valid = false; } int j = 0; id = 0; for (unsigned int i = 7; i < (in.size()); i++) { if ((in[i] <= '9')&&(in[i] >= '0')) { j++; id *= 10; id += (in[i] - '0'); rc *= 10; rc += (in[i] - '0'); }else{ if (debug) cout << "zly id " << i << endl; valid = false; } } if (((rc%11) != 0)&&(j==4)) { if (debug) cout << "neni mod 11" << endl; valid = false; } if (((year<=9)||(year >= 54))&&(j!=4)) { if (debug) cout << "nema 4 ID" << endl; valid = false; } if ((year > 9)&&(year < 54)&&(j!=3)) { if (debug) cout << "nema 3 ID" << endl; valid = false; } if ((year%4) != 0) { if (((month%50) == 2) && (day == 29)) { if (debug) cout << "prestupny nema 29" << endl; valid = false; } } if (valid) { if (month >= 50) { cout << "girl" << endl; }else{ cout << "boy" << endl; } }else{ cout << "invalid" << endl; } cin >> in; } }