#include <iostream>
#include <iomanip>
using namespace std;
int error()
{
cout << "Error ";
return 0;
}
void f1(int a, int b, int c)
{
if (cout << "1", a > b) throw error();
if (cout << "2", b > c) throw error();
if (cout << "3", a < c) throw error();
cout << "All right 1 ";
}
void f2(int a, int b, int c)
{
if ((cout << "1", a > b) || (cout << "2", b > c) || (cout << "3", a < c)) throw error();
cout << "All right 2 ";
}
int main(int argc, const char * argv[])
{
for(int a = 1; a <= 3; ++a)
{
for(int b = 1; b <= 3; ++b)
{
for(int c = 1; c <= 3; ++c)
{
cout << a << b << c << ": ";
try
{
f1(a,b,c);
}
catch(...) {}
try
{
f2(a,b,c);
}
catch(...) {}
cout << endl;
}
}
}
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDxpb21hbmlwPgogICAgCiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOwogICAgCiAgICBpbnQgZXJyb3IoKQogICAgewogICAgICAgIGNvdXQgPDwgIkVycm9yICAiOwogICAgICAgIHJldHVybiAwOwogICAgfQogICAgCiAgICB2b2lkIGYxKGludCBhLCBpbnQgYiwgaW50IGMpCiAgICB7CiAgICAgICAgaWYgKGNvdXQgPDwgIjEiLCBhID4gYikgdGhyb3cgZXJyb3IoKTsKICAgICAgICBpZiAoY291dCA8PCAiMiIsIGIgPiBjKSB0aHJvdyBlcnJvcigpOwogICAgICAgIGlmIChjb3V0IDw8ICIzIiwgYSA8IGMpIHRocm93IGVycm9yKCk7CiAgICAgICAgY291dCA8PCAiQWxsIHJpZ2h0IDEgICAiOwogICAgfQogICAgCiAgICB2b2lkIGYyKGludCBhLCBpbnQgYiwgaW50IGMpCiAgICB7CiAgICAgICAgaWYgKChjb3V0IDw8ICIxIiwgYSA+IGIpIHx8IChjb3V0IDw8ICIyIiwgYiA+IGMpIHx8IChjb3V0IDw8ICIzIiwgYSA8IGMpKSB0aHJvdyBlcnJvcigpOwogICAgICAgIGNvdXQgPDwgIkFsbCByaWdodCAyICAgIjsKICAgIH0KICAgIAogICAgCiAgICBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqIGFyZ3ZbXSkKICAgIHsKICAgICAgICBmb3IoaW50IGEgPSAxOyBhIDw9IDM7ICsrYSkKICAgICAgICB7CiAgICAgICAgICAgIGZvcihpbnQgYiA9IDE7IGIgPD0gMzsgKytiKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmb3IoaW50IGMgPSAxOyBjIDw9IDM7ICsrYykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjb3V0IDw8IGEgPDwgYiA8PCBjIDw8ICI6ICAiOwogICAgICAgICAgICAgICAgICAgIHRyeQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgZjEoYSxiLGMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBjYXRjaCguLi4pIHt9CiAgICAgICAgICAgICAgICAgICAgdHJ5CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBmMihhLGIsYyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGNhdGNoKC4uLikge30KICAgICAgICAgICAgICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cgo=