#include <algorithm>
#include <functional>
#include <iostream>
#include <iterator>
#include <list>
int main()
{
typedef std::list<int> L;
L l(5);
typedef L::const_iterator CI;
CI cb = l.begin(), ce = l.end();
typedef L::iterator I;
I b = l.begin();
std::transform(cb, --ce, ++b, [] (CI::value_type n) { return ++n; });
std::copy(l.begin(), l.end(), std::ostream_iterator<CI::value_type>(std::cout));
std::cout << std::endl;
return 0;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGl0ZXJhdG9yPgojaW5jbHVkZSA8bGlzdD4KCmludCBtYWluKCkKewogICAgdHlwZWRlZiBzdGQ6Omxpc3Q8aW50PiBMOwogICAgTCBsKDUpOwoKICAgIHR5cGVkZWYgTDo6Y29uc3RfaXRlcmF0b3IgQ0k7CiAgICBDSSBjYiA9IGwuYmVnaW4oKSwgY2UgPSBsLmVuZCgpOwogICAgdHlwZWRlZiBMOjppdGVyYXRvciBJOwogICAgSSBiID0gbC5iZWdpbigpOwoKICAgIHN0ZDo6dHJhbnNmb3JtKGNiLCAtLWNlLCArK2IsIFtdIChDSTo6dmFsdWVfdHlwZSBuKSB7IHJldHVybiArK247IH0pOwogICAgc3RkOjpjb3B5KGwuYmVnaW4oKSwgbC5lbmQoKSwgc3RkOjpvc3RyZWFtX2l0ZXJhdG9yPENJOjp2YWx1ZV90eXBlPihzdGQ6OmNvdXQpKTsKICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CgogICAgcmV0dXJuIDA7Cn0=