#include <iostream>
#include <exception>
#include <stdexcept>
using namespace std;
class Int {
public:
int v;
Int(int a) : v(a) {}
};
void a() {
throw 0;
}
void b() {
try {
a();
} catch(int i) {
throw Int(i + 1);
}
}
void c() {
try {
b();
} catch(...) {
throw;
}
}
int main(void) {
try {
c();
} catch(Int &i) {
cout << i.v;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogICAgI2luY2x1ZGUgPGV4Y2VwdGlvbj4KICAgICNpbmNsdWRlIDxzdGRleGNlcHQ+CiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOwogICAgCiAgICBjbGFzcyBJbnQgewogICAgcHVibGljOgogICAgICAgIGludCB2OwogICAgICAgIEludChpbnQgYSkgOiB2KGEpIHt9CiAgICB9OwogICAgCiAgICB2b2lkIGEoKSB7CiAgICAgICAgdGhyb3cgMDsKICAgIH0KICAgIAogICAgdm9pZCBiKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGEoKTsKICAgICAgICB9IGNhdGNoKGludCBpKSB7CiAgICAgICAgICAgIHRocm93IEludChpICsgMSk7CiAgICAgICAgfQogICAgfQogICAgCiAgICB2b2lkIGMoKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgYigpOwogICAgICAgIH0gY2F0Y2goLi4uKSB7CiAgICAgICAgICAgIHRocm93OwogICAgICAgIH0KICAgIH0KICAgIAogICAgaW50IG1haW4odm9pZCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGMoKTsKICAgICAgICB9IGNhdGNoKEludCAmaSkgewogICAgICAgICAgICBjb3V0IDw8IGkudjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDA7CiAgICB9