#include <iostream>
using namespace std;
class A {
public:
A() {}
A(const A& a) { cout << "copy!\n"; }
};
A GetA()
{
A a = A();
A result = a;
return result;
}
int main()
{
A b = GetA();
A* x = &b;
A y = *x;
A z = b;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQSB7IApwdWJsaWM6CglBKCkge30KCUEoY29uc3QgQSYgYSkgeyBjb3V0IDw8ICJjb3B5IVxuIjsgfSAKfTsKCkEgR2V0QSgpCnsKICBBIGEgPSBBKCk7CiAgQSByZXN1bHQgPSBhOwogIHJldHVybiByZXN1bHQ7Cn0KCmludCBtYWluKCkKewogIEEgYiA9IEdldEEoKTsKICBBKiB4ID0gJmI7CiAgQSB5ID0gKng7CiAgQSB6ID0gYjsKfQ==