#include <algorithm>
#include <iostream>
#include <memory>
#include <vector>
class MakeIntPtr {
public:
explicit MakeIntPtr(int v) : value_(v) {}
operator std::unique_ptr<int>() {
return std::unique_ptr<int>(new int(value_));
}
MakeIntPtr& operator++() { ++value_; return *this; }
private:
int value_;
};
int main() {
std::vector<std::unique_ptr<int>> nums(98);
std::iota(begin(nums), end(nums), MakeIntPtr(3));
std::cout << *nums[0] << ' ' << *nums[1] << ' ' << *nums[2];
return 0;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5PgojaW5jbHVkZSA8dmVjdG9yPgoKY2xhc3MgTWFrZUludFB0ciB7CnB1YmxpYzoKICBleHBsaWNpdCBNYWtlSW50UHRyKGludCB2KSA6IHZhbHVlXyh2KSB7fQogIG9wZXJhdG9yIHN0ZDo6dW5pcXVlX3B0cjxpbnQ+KCkgewogIAlyZXR1cm4gc3RkOjp1bmlxdWVfcHRyPGludD4obmV3IGludCh2YWx1ZV8pKTsKICB9CiAgTWFrZUludFB0ciYgb3BlcmF0b3IrKygpIHsgKyt2YWx1ZV87IHJldHVybiAqdGhpczsgfQpwcml2YXRlOgogIGludCB2YWx1ZV87Cn07CgppbnQgbWFpbigpIHsKICBzdGQ6OnZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8aW50Pj4gbnVtcyg5OCk7CiAgc3RkOjppb3RhKGJlZ2luKG51bXMpLCBlbmQobnVtcyksIE1ha2VJbnRQdHIoMykpOwoKICBzdGQ6OmNvdXQgPDwgKm51bXNbMF0gPDwgJyAnIDw8ICpudW1zWzFdIDw8ICcgJyA8PCAqbnVtc1syXTsKICByZXR1cm4gMDsKfQo=