#include <iostream>
#include <cstdio>
#include <memory>
using namespace std;
template<class T, class F, F f>
struct static_deleter{
void operator()(T* p){ f(p); }
};
int main()
{
using ptr = unique_ptr<FILE, static_deleter<FILE, decltype(&fclose), &fclose>>;
cout << sizeof(FILE*) << endl;
cout << sizeof(ptr(fopen("file","w"))) << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8bWVtb3J5PgogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBGLCBGIGY+CnN0cnVjdCBzdGF0aWNfZGVsZXRlcnsKICB2b2lkIG9wZXJhdG9yKCkoVCogcCl7IGYocCk7IH0KfTsKIAppbnQgbWFpbigpCnsKICAgIHVzaW5nIHB0ciA9IHVuaXF1ZV9wdHI8RklMRSwgc3RhdGljX2RlbGV0ZXI8RklMRSwgZGVjbHR5cGUoJmZjbG9zZSksICZmY2xvc2U+PjsKICAgIGNvdXQgPDwgc2l6ZW9mKEZJTEUqKSA8PCBlbmRsOwogICAgY291dCA8PCBzaXplb2YocHRyKGZvcGVuKCJmaWxlIiwidyIpKSkgPDwgZW5kbDsKfQ==