#include <algorithm>
#include <iterator>
#include <sstream>
#include <vector>
#include <iostream>
int main()
{
std::ostringstream oss;
std::vector<int> items;
items.push_back(1);
items.push_back(1);
items.push_back(2);
items.push_back(3);
items.push_back(5);
items.push_back(8);
if(items.size() > 1)
{
std::copy(items.begin(), --items.end(),
std::ostream_iterator<int>(oss, ", "));
oss << "and ";
}
// else do nothing
oss << items.back();
std::cout << oss.str();
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGl0ZXJhdG9yPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oKQp7CiAgICBzdGQ6Om9zdHJpbmdzdHJlYW0gb3NzOwoKICAgIHN0ZDo6dmVjdG9yPGludD4gaXRlbXM7CiAgICBpdGVtcy5wdXNoX2JhY2soMSk7CiAgICBpdGVtcy5wdXNoX2JhY2soMSk7CiAgICBpdGVtcy5wdXNoX2JhY2soMik7CiAgICBpdGVtcy5wdXNoX2JhY2soMyk7CiAgICBpdGVtcy5wdXNoX2JhY2soNSk7CiAgICBpdGVtcy5wdXNoX2JhY2soOCk7CgogICAgaWYoaXRlbXMuc2l6ZSgpID4gMSkKICAgIHsKICAgICAgICBzdGQ6OmNvcHkoaXRlbXMuYmVnaW4oKSwgLS1pdGVtcy5lbmQoKSwKICAgICAgICAgICAgICAgICAgc3RkOjpvc3RyZWFtX2l0ZXJhdG9yPGludD4ob3NzLCAiLCAiKSk7CiAgICAgICAgb3NzIDw8ICJhbmQgIjsKICAgIH0KICAgIC8vIGVsc2UgZG8gbm90aGluZwoKICAgIG9zcyA8PCBpdGVtcy5iYWNrKCk7CgogICAgc3RkOjpjb3V0IDw8IG9zcy5zdHIoKTsKfQ==