#include <iostream>
#include <sstream>
#include <string>
using namespace std;
bool GetChoice(int *ret, int count);
void DoTaskOne() { cout << "one" << endl; }
void DoTaskMany(int i) { cout << "many " << i << endl; }
void menu() { cout << "MENU" << endl; }
int main()
{
bool exit = false;
do {
int choice;
do {
menu();
}
while (!GetChoice(&choice, 5));
switch (choice)
{
case (1):
DoTaskOne();
break;
case (2):
DoTaskMany(2);
break;
case (3):
DoTaskMany(3);
break;
case (4):
continue;
break;
case (5):
exit = true;
break;
}
}
while (!exit);
return 0;
}
bool GetChoice(int *ret, int count)
{
string line;
getline(cin, line);
bool ok = istringstream(line) >> *ret;
ok = ok && *ret >= 1 && *ret <= count;
if (!ok) cout <<"Bledny wybor!\n";
return ok;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIEdldENob2ljZShpbnQgKnJldCwgaW50IGNvdW50KTsKCnZvaWQgRG9UYXNrT25lKCkgeyBjb3V0IDw8ICJvbmUiIDw8IGVuZGw7IH0Kdm9pZCBEb1Rhc2tNYW55KGludCBpKSB7IGNvdXQgPDwgIm1hbnkgIiA8PCBpIDw8IGVuZGw7IH0KCnZvaWQgbWVudSgpIHsgY291dCA8PCAiTUVOVSIgPDwgZW5kbDsgfQoKaW50IG1haW4oKQp7CiAgICBib29sIGV4aXQgPSBmYWxzZTsKCiAgICBkbyB7CiAgICAgICAgaW50IGNob2ljZTsKICAgICAgICBkbyB7CiAgICAgICAgICAgIG1lbnUoKTsKICAgICAgICB9CiAgICAgICAgd2hpbGUgKCFHZXRDaG9pY2UoJmNob2ljZSwgNSkpOwoKICAgICAgICBzd2l0Y2ggKGNob2ljZSkKICAgICAgICB7CiAgICAgICAgICAgIGNhc2UgKDEpOgogICAgICAgICAgICAgICAgRG9UYXNrT25lKCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAoMik6CiAgICAgICAgICAgICAgICBEb1Rhc2tNYW55KDIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgKDMpOgogICAgICAgICAgICAgICAgRG9UYXNrTWFueSgzKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICg0KToKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgKDUpOgogICAgICAgICAgICAgICAgZXhpdCA9IHRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CiAgICB3aGlsZSAoIWV4aXQpOwoKICAgIHJldHVybiAwOwp9Cgpib29sIEdldENob2ljZShpbnQgKnJldCwgaW50IGNvdW50KQp7CiAgICBzdHJpbmcgbGluZTsKICAgIGdldGxpbmUoY2luLCBsaW5lKTsKICAgIGJvb2wgb2sgPSBpc3RyaW5nc3RyZWFtKGxpbmUpID4+ICpyZXQ7CiAgICBvayA9IG9rICYmICpyZXQgPj0gMSAmJiAqcmV0IDw9IGNvdW50OwogICAgCiAgICBpZiAoIW9rKSBjb3V0IDw8IkJsZWRueSB3eWJvciFcbiI7CiAgICByZXR1cm4gb2s7Cn0K