#include <signal.h>
#include <memory>
#include <iostream>
using namespace std;
int main() {
std::shared_ptr<void(int)> handler(
signal(SIGFPE, [](int signum) {throw std::logic_error("FPE"); }),
[](__sighandler_t f) { signal(SIGFPE, f); });
int i = 0;
cin >> i; // what if someone enters zero?
try {
i = 1/i;
}
catch (std::logic_error e) {
std::cerr << e.what();
}
}
I2luY2x1ZGUgPHNpZ25hbC5oPgojaW5jbHVkZSA8bWVtb3J5PgojaW5jbHVkZSA8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIHN0ZDo6c2hhcmVkX3B0cjx2b2lkKGludCk+IGhhbmRsZXIoCiAgICAgICAgc2lnbmFsKFNJR0ZQRSwgW10oaW50IHNpZ251bSkge3Rocm93IHN0ZDo6bG9naWNfZXJyb3IoIkZQRSIpOyB9KSwKICAgICAgICBbXShfX3NpZ2hhbmRsZXJfdCBmKSB7IHNpZ25hbChTSUdGUEUsIGYpOyB9KTsKCiAgICBpbnQgaSA9IDA7CgogICAgY2luID4+IGk7ICAvLyB3aGF0IGlmIHNvbWVvbmUgZW50ZXJzIHplcm8/CgogICAgdHJ5IHsKICAgICAgICBpID0gMS9pOwogICAgfQogICAgY2F0Y2ggKHN0ZDo6bG9naWNfZXJyb3IgZSkgewogICAgICAgIHN0ZDo6Y2VyciA8PCBlLndoYXQoKTsKICAgIH0KfQ==