#include <iostream>
using namespace std;
int main() {
auto inc = [](){
auto& a = (*new int(10));
return [&](){
return ++a;
};
};
auto inc_1 = inc();
std::cout << inc_1() << ", " << inc_1() << ", " << inc_1() << std::endl;
auto inc_2 = inc();
std::cout << inc_2() << ", " << inc_2() << ", " << inc_2() << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBhdXRvIGluYyA9IFtdKCl7CiAgICAgICAgYXV0byYgYSA9ICgqbmV3IGludCgxMCkpOwogICAgICAgIHJldHVybiBbJl0oKXsKICAgICAgICAgICAgcmV0dXJuICsrYTsKICAgICAgICB9OwogICAgfTsKICAgIGF1dG8gaW5jXzEgPSBpbmMoKTsKICAgIHN0ZDo6Y291dCA8PCBpbmNfMSgpIDw8ICIsICIgPDwgaW5jXzEoKSA8PCAiLCAiIDw8IGluY18xKCkgPDwgc3RkOjplbmRsOyAKICAgIGF1dG8gaW5jXzIgPSBpbmMoKTsKICAgIHN0ZDo6Y291dCA8PCBpbmNfMigpIDw8ICIsICIgPDwgaW5jXzIoKSA8PCAiLCAiIDw8IGluY18yKCkgPDwgc3RkOjplbmRsOyAKCiAgICAKCXJldHVybiAwOwp9