#include <iostream>
struct A{ int x; A() = default; A(const A& ) = default; A(A&&) = delete; };
void foo(A &&x){ std::cout<<"&&" <<std::endl; }
void foo(A &x){ std::cout<<"&" <<std::endl; }
int main() {
foo(A());
A a;
foo(a);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgpzdHJ1Y3QgQXsgaW50IHg7IEEoKSA9IGRlZmF1bHQ7IEEoY29uc3QgQSYgKSA9IGRlZmF1bHQ7IEEoQSYmKSA9IGRlbGV0ZTsgfTsKCnZvaWQgIGZvbyhBICYmeCl7IHN0ZDo6Y291dDw8IiYmIiA8PHN0ZDo6ZW5kbDsgfQoKdm9pZCAgZm9vKEEgJngpeyBzdGQ6OmNvdXQ8PCImIiA8PHN0ZDo6ZW5kbDsgfQoKaW50IG1haW4oKSB7Cglmb28oQSgpKTsKCUEgYTsKCWZvbyhhKTsKCXJldHVybiAwOwp9