#include <list>
#include <deque>
#include <iostream>
#include <algorithm>
#include <iterator>
using namespace std;
template<typename T> ostream & print(const T & start, const T & end)
{
T tmp = start;
for(; tmp != end; ++tmp)
{
cout<< *tmp<< " ";
}
return cout;
}
class A
{
public:
int a;
public:
A(int a_):a(a_) {}
};
ostream & operator<<(ostream & c, const A & o)
{
c<<o.a;
return c;
}
int main()
{
int tab[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
list<A> l1(tab, tab+10);
deque<A> d1;
copy(l1.begin(), l1.end(), std::back_inserter(d1));
print(d1.begin(), d1.end())<<endl;
return 0;
}
I2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDxkZXF1ZT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8aXRlcmF0b3I+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgVD4gb3N0cmVhbSAmIHByaW50KGNvbnN0IFQgJiBzdGFydCwgY29uc3QgVCAmIGVuZCkKewogICAgVCB0bXAgPSBzdGFydDsKICAgIGZvcig7IHRtcCAhPSBlbmQ7ICsrdG1wKQogICAgewogICAgICAgICAgICBjb3V0PDwgKnRtcDw8ICIgIjsKICAgIH0KICAgIHJldHVybiBjb3V0Owp9CmNsYXNzIEEKewpwdWJsaWM6CiAgICBpbnQgYTsKcHVibGljOgogICAgQShpbnQgYV8pOmEoYV8pIHt9Cn07Cgpvc3RyZWFtICYgb3BlcmF0b3I8PChvc3RyZWFtICYgYywgY29uc3QgQSAmIG8pCnsKICAgIGM8PG8uYTsKICAgIHJldHVybiBjOwp9CgppbnQgbWFpbigpCnsKICAgIGludCB0YWJbXT17MSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTB9OwogICAgbGlzdDxBPiBsMSh0YWIsIHRhYisxMCk7CiAgICBkZXF1ZTxBPiBkMTsKICAgIGNvcHkobDEuYmVnaW4oKSwgbDEuZW5kKCksIHN0ZDo6YmFja19pbnNlcnRlcihkMSkpOwogICAgcHJpbnQoZDEuYmVnaW4oKSwgZDEuZW5kKCkpPDxlbmRsOwogICAgcmV0dXJuIDA7Cn0=