#include <utility>
#include <vector>
using namespace std;
template< class T >
T&& my_forward( typename std::remove_reference<T>::type&& t )
{
return static_cast<T&&>(t);
}
class Library
{
vector<int> b;
public:
// hi! only rvalue here :)
Library( vector<int>&& a):b(std::move(a)){
}
};
int main()
{
vector<int> v;
v.push_back(1);
Library a( my_forward<vector<int>>(v));
return 0;
}
I2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDx2ZWN0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZTwgY2xhc3MgVCA+ClQmJiBteV9mb3J3YXJkKCB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VD46OnR5cGUmJiB0ICkKewogICAgcmV0dXJuIHN0YXRpY19jYXN0PFQmJj4odCk7Cn0KCmNsYXNzIExpYnJhcnkKewogICAgdmVjdG9yPGludD4gYjsKcHVibGljOgogICAgLy8gaGkhIG9ubHkgcnZhbHVlIGhlcmUgOikKICAgIExpYnJhcnkoIHZlY3RvcjxpbnQ+JiYgYSk6YihzdGQ6Om1vdmUoYSkpewoKICAgIH0KfTsKCmludCBtYWluKCkgCnsKICAgIHZlY3RvcjxpbnQ+IHY7CiAgICB2LnB1c2hfYmFjaygxKTsKICAgIExpYnJhcnkgYSggbXlfZm9yd2FyZDx2ZWN0b3I8aW50Pj4odikpOwogICAgcmV0dXJuIDA7Cn0=