#include <functional>
#include <cstdlib>
void mahexit();
struct registar {
registar(){atexit(&mahexit); }
} registerThat; // чтобы само регистрировалось без участия пользователя. Конструктор будет вызываться в мейне сам.
static std::function <void ()> customExit=[](){};
void mahexit() {
customExit();
}
extern void setexit(std::function <void ()> f) {
customExit=f;
}
//всё то, что до этого места, ты суёшь в заголовок
int main(){}
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxjc3RkbGliPgoKdm9pZCBtYWhleGl0KCk7CgpzdHJ1Y3QgcmVnaXN0YXIgewoJcmVnaXN0YXIoKXthdGV4aXQoJm1haGV4aXQpOyB9Cn0gcmVnaXN0ZXJUaGF0OyAvLyDRh9GC0L7QsdGLINGB0LDQvNC+INGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNC70L7RgdGMINCx0LXQtyDRg9GH0LDRgdGC0LjRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uINCa0L7QvdGB0YLRgNGD0LrRgtC+0YAg0LHRg9C00LXRgiDQstGL0LfRi9Cy0LDRgtGM0YHRjyDQsiDQvNC10LnQvdC1INGB0LDQvC4KCnN0YXRpYyBzdGQ6OmZ1bmN0aW9uIDx2b2lkICgpPiBjdXN0b21FeGl0PVtdKCl7fTsKCnZvaWQgbWFoZXhpdCgpIHsKCWN1c3RvbUV4aXQoKTsJCn0KCQpleHRlcm4gdm9pZCBzZXRleGl0KHN0ZDo6ZnVuY3Rpb24gPHZvaWQgKCk+IGYpIHsKY3VzdG9tRXhpdD1mOwp9Ci8v0LLRgdGRINGC0L4sINGH0YLQviDQtNC+INGN0YLQvtCz0L4g0LzQtdGB0YLQsCwg0YLRiyDRgdGD0ZHRiNGMINCyINC30LDQs9C+0LvQvtCy0L7QugppbnQgbWFpbigpe30=