#include <iostream>
#include <algorithm>
#include <numeric>
#include <vector>

// Generic vector printing routine: output is "{ <elem1>, <elem2>, ... ".
template <class T>
std::ostream & operator<<(std::ostream & o, const std::vector<T> & v)
{
  int sz = v.size();
  o << "{";
  for (int i=0; i < sz; ++i)
  {
    if (i)
      o << ",";
    o << " " << v[i];
  }
  o << " }";

  return o;
}

void main()
{
  std::vector<int> a;

  a.push_back(3);
  a.push_back(2);
  a.push_back(1);

  std::cout << "a = " << a << std::endl;
}
