#include <iostream>
#include <array>
using namespace std;
struct A{
int n=0;
std::array<int,10000> arr;
A(){
cout<<"+A "<<this<<endl;
}
~A(){
for (int i=0;i<n;i++)
cout<<arr[i]<<" ";
cout<<endl;
}
void add(int r){
cout<<"add "<<r<<endl;
arr[n]=r;n=(n+1)%10000;
}
};
int main(){
{
A* test=new A;
test->~A();
for (int i=0;i<10;i++){
test->add(i*i);
test->~A();
}
delete test;
for (int i=0;i<10;i++){
test->add(i*i);
test->~A();
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YXJyYXk+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgQXsKICAgaW50IG49MDsKICAgc3RkOjphcnJheTxpbnQsMTAwMDA+IGFycjsKICAgQSgpewogICAgICBjb3V0PDwiK0EgIjw8dGhpczw8ZW5kbDsKICAgfQogICB+QSgpewogICAgICBmb3IgKGludCBpPTA7aTxuO2krKykKICAgICAgICAgY291dDw8YXJyW2ldPDwiICI7CiAgICAgIGNvdXQ8PGVuZGw7CiAgIH0KICAgdm9pZCBhZGQoaW50IHIpewogICAgICBjb3V0PDwiYWRkICI8PHI8PGVuZGw7CiAgICAgIGFycltuXT1yO249KG4rMSklMTAwMDA7CiAgIH0KfTsKaW50IG1haW4oKXsKICAgewogICAgICBBKiB0ZXN0PW5ldyBBOwogICAgICB0ZXN0LT5+QSgpOwogICAgICBmb3IgKGludCBpPTA7aTwxMDtpKyspewogICAgICAgICB0ZXN0LT5hZGQoaSppKTsKICAgICAgICAgdGVzdC0+fkEoKTsKICAgICAgfQogICAgICBkZWxldGUgdGVzdDsKICAgICAgZm9yIChpbnQgaT0wO2k8MTA7aSsrKXsKICAgICAgICAgdGVzdC0+YWRkKGkqaSk7CiAgICAgICAgIHRlc3QtPn5BKCk7CiAgICAgIH0KICAgfQp9Cg==