#include <iostream>
#include <list>
#include <utility>
using namespace std;
int main() {
list<int> l({3, 2, 1, 4, 5});
auto it = l.begin(), jt = ++(++l.begin());
cout << *it << '\t' << *jt << '\n';
for(int i: l) cout << i << '\t'; cout << '\n';
auto hlp = it; ++hlp;
l.splice(jt, l, it);
l.splice(hlp, l, jt);
cout << *it << '\t' << *jt << '\n';
for(int i: l) cout << i << '\t'; cout << '\n';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGlzdD4KI2luY2x1ZGUgPHV0aWxpdHk+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWxpc3Q8aW50PiBsKHszLCAyLCAxLCA0LCA1fSk7CglhdXRvIGl0ID0gbC5iZWdpbigpLCBqdCA9ICsrKCsrbC5iZWdpbigpKTsKCQoJY291dCA8PCAqaXQgPDwgJ1x0JyA8PCAqanQgPDwgJ1xuJzsKCWZvcihpbnQgaTogbCkgY291dCA8PCBpIDw8ICdcdCc7IGNvdXQgPDwgJ1xuJzsKCQoJYXV0byBobHAgPSBpdDsgKytobHA7CglsLnNwbGljZShqdCwgbCwgaXQpOwoJbC5zcGxpY2UoaGxwLCBsLCBqdCk7CgkKCWNvdXQgPDwgKml0IDw8ICdcdCcgPDwgKmp0IDw8ICdcbic7Cglmb3IoaW50IGk6IGwpIGNvdXQgPDwgaSA8PCAnXHQnOyBjb3V0IDw8ICdcbic7CgkKCXJldHVybiAwOwp9