#include <iostream>
#include <vector>
using namespace std;
template <typename Iterator>
void print_container(const Iterator& from, const Iterator& to)
{
bool first = true;
for (Iterator it = from; it != to; ++it)
{
if (!first)
cout << ", ";
first = false;
cout << *it;
}
cout << endl;
}
int main()
{
int a[] = { 1, 2, 3 };
vector<int> v = { 11, 12, 13 };
print_container(&a[0], &a[0] + (sizeof(a) / sizeof(a[0])));
print_container(begin(a), end(a));
print_container(begin(v), end(v));
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlIDx0eXBlbmFtZSBJdGVyYXRvcj4Kdm9pZCBwcmludF9jb250YWluZXIoY29uc3QgSXRlcmF0b3ImIGZyb20sIGNvbnN0IEl0ZXJhdG9yJiB0bykKewogICAgYm9vbCBmaXJzdCA9IHRydWU7CiAgICBmb3IgKEl0ZXJhdG9yIGl0ID0gZnJvbTsgaXQgIT0gdG87ICsraXQpCiAgICB7CiAgICAgICAgaWYgKCFmaXJzdCkKICAgICAgICAgICAgY291dCA8PCAiLCAiOwogICAgICAgIGZpcnN0ID0gZmFsc2U7CiAgICAgICAgY291dCA8PCAqaXQ7CiAgICB9CiAgICBjb3V0IDw8IGVuZGw7Cn0KCmludCBtYWluKCkKewogICAgaW50IGFbXSA9IHsgMSwgMiwgMyB9OwogICAgdmVjdG9yPGludD4gdiA9IHsgMTEsIDEyLCAxMyB9OwogICAgCiAgICBwcmludF9jb250YWluZXIoJmFbMF0sICZhWzBdICsgKHNpemVvZihhKSAvIHNpemVvZihhWzBdKSkpOwogICAgcHJpbnRfY29udGFpbmVyKGJlZ2luKGEpLCBlbmQoYSkpOwogICAgcHJpbnRfY29udGFpbmVyKGJlZ2luKHYpLCBlbmQodikpOwogICAgCiAgICByZXR1cm4gMDsKfQ==