#include <iostream>
#include <memory>
using B = std::unique_ptr<int, decltype(&::free)>;
class int_ptr : public B {
public:
int_ptr(int *b) : B(b, &::free) { }
};
int main() {
int_ptr(new int(3));
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5PiAKCnVzaW5nIEIgPSBzdGQ6OnVuaXF1ZV9wdHI8aW50LCBkZWNsdHlwZSgmOjpmcmVlKT47CgpjbGFzcyBpbnRfcHRyIDogcHVibGljIEIgewogIHB1YmxpYzogCiAgICBpbnRfcHRyKGludCAqYikgOiBCKGIsICY6OmZyZWUpIHsgfQp9OwoKaW50IG1haW4oKSB7CglpbnRfcHRyKG5ldyBpbnQoMykpOwoJcmV0dXJuIDA7Cn0=