#include<bits/stdc++.h>
#define IOF ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
#define ll long long
using namespace std;
class c{
int cnt;
public:
c():cnt(0){cout << "default\n";}
c(int x):cnt(x){cout << "param\n";}
int get_cnt(){return cnt;}
c operator++(){
cout << "pre\n";
return c(++cnt);
}
c(const c& tmp){
cout << "copy\n";
cnt = tmp.cnt;
}
c operator++(int){
cout << "post\n";
return c(cnt++);
}
void operator = (c tmp){
cout << "equal\n";
cnt = tmp.cnt;
}
~c(){
cout << "des\n";
}
};
int main() {
c ob;
c ob1(3);
ob++;
++ob;
cout << ob.get_cnt() << ' ' << ob1.get_cnt() << '\n';
ob = ob1++;
ob = ob1;
c ob2(ob1++);// لما بتشيل ال ++ بتنادي الكوبي كونستراكتور لما بتحطها معرفش بيحصل ايه
c ob3 = ob2;
cout << ob.get_cnt() << ' ' << ob1.get_cnt() << '\n';
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBJT0YgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpLCBjaW4udGllKG51bGxwdHIpLCBjb3V0LnRpZShudWxscHRyKTsKI2RlZmluZSBsbCBsb25nIGxvbmcKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIGN7CiAgaW50IGNudDsKICBwdWJsaWM6CiAgYygpOmNudCgwKXtjb3V0IDw8ICJkZWZhdWx0XG4iO30KICBjKGludCB4KTpjbnQoeCl7Y291dCA8PCAicGFyYW1cbiI7fQogIGludCBnZXRfY250KCl7cmV0dXJuIGNudDt9CiAgYyBvcGVyYXRvcisrKCl7CiAgICBjb3V0IDw8ICJwcmVcbiI7CiAgICByZXR1cm4gYygrK2NudCk7CiAgfQogIGMoY29uc3QgYyYgdG1wKXsKICAgIGNvdXQgPDwgImNvcHlcbiI7CiAgICBjbnQgPSB0bXAuY250OwogIH0KICBjIG9wZXJhdG9yKysoaW50KXsKICAgIGNvdXQgPDwgInBvc3RcbiI7CiAgICByZXR1cm4gYyhjbnQrKyk7CgogIH0KICB2b2lkIG9wZXJhdG9yID0gKGMgdG1wKXsKICAgIGNvdXQgPDwgImVxdWFsXG4iOwogICAgY250ID0gdG1wLmNudDsKICB9Cn5jKCl7CiAgY291dCA8PCAiZGVzXG4iOwp9CiAgCn07CgppbnQgbWFpbigpIHsKYyBvYjsKYyBvYjEoMyk7Cm9iKys7Cisrb2I7CmNvdXQgPDwgb2IuZ2V0X2NudCgpIDw8ICcgJyA8PCBvYjEuZ2V0X2NudCgpICA8PCAnXG4nOwpvYiA9IG9iMSsrOwpvYiA9IG9iMTsKYyBvYjIob2IxKyspOy8vINmE2YXYpyDYqNiq2LTZitmEINin2YQgKysg2KjYqtmG2KfYr9mKINin2YTZg9mI2KjZiiDZg9mI2YbYs9iq2LHYp9mD2KrZiNixINmE2YXYpyDYqNiq2K3Yt9mH2Kcg2YXYudix2YHYtCDYqNmK2K3YtdmEINin2YrZhwpjIG9iMyA9IG9iMjsKY291dCA8PCBvYi5nZXRfY250KCkgPDwgJyAnIDw8IG9iMS5nZXRfY250KCkgIDw8ICdcbic7CgoKcmV0dXJuIDA7Cn0=