#include <iostream>
using namespace std;
struct Beta_ab { int a; };
struct Beta {
Beta_ab ab;
Beta_ab && getAB() && { cout << "1"; return move(ab); }
Beta_ab && getAB() { cout << "2"; return move(ab); }
};
int main() {
Beta b;
Beta_ab ab1 = b.getAB();
Beta_ab ab2 = Beta().getAB();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEJldGFfYWIgeyBpbnQgYTsgfTsKCnN0cnVjdCBCZXRhIHsKICBCZXRhX2FiIGFiOwogIEJldGFfYWIgJiYgZ2V0QUIoKSAmJiB7IGNvdXQgPDwgIjEiOyByZXR1cm4gbW92ZShhYik7IH0KICBCZXRhX2FiICYmIGdldEFCKCkgeyBjb3V0IDw8ICIyIjsgcmV0dXJuIG1vdmUoYWIpOyB9Cn07CgppbnQgbWFpbigpIHsKCUJldGEgYjsKCUJldGFfYWIgYWIxID0gYi5nZXRBQigpOwoJCglCZXRhX2FiIGFiMiA9IEJldGEoKS5nZXRBQigpOwoKCXJldHVybiAwOwp9