#include <algorithm>
#include <iostream>
#include <vector>
#include <string>
template< typename Iter >
void writeContainer(Iter itStart, Iter itEnd)
{
std::cout << "\n" << (int32_t)std::distance(itStart, itEnd) << "\n";
while (itStart != itEnd)
{
std::cout << *itStart;
std::advance(itStart, 1);
}
}
int main()
{
std::vector<int> v = {1,2,3,4,5,6};
writeContainer(v.begin(), v.end());
std::string s = "This is a string";
writeContainer(s.begin(), s.end());
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgoKdGVtcGxhdGU8IHR5cGVuYW1lIEl0ZXIgPgp2b2lkIHdyaXRlQ29udGFpbmVyKEl0ZXIgaXRTdGFydCwgSXRlciBpdEVuZCkgCnsKICAgIHN0ZDo6Y291dCA8PCAiXG4iIDw8IChpbnQzMl90KXN0ZDo6ZGlzdGFuY2UoaXRTdGFydCwgaXRFbmQpIDw8ICJcbiI7CiAgICB3aGlsZSAoaXRTdGFydCAhPSBpdEVuZCkKICAgIHsKICAgIAlzdGQ6OmNvdXQgPDwgKml0U3RhcnQ7CiAgICAJc3RkOjphZHZhbmNlKGl0U3RhcnQsIDEpOwogICAgfQp9CgoKaW50IG1haW4oKQp7CglzdGQ6OnZlY3RvcjxpbnQ+IHYgPSB7MSwyLDMsNCw1LDZ9OwoJd3JpdGVDb250YWluZXIodi5iZWdpbigpLCB2LmVuZCgpKTsKCXN0ZDo6c3RyaW5nIHMgPSAiVGhpcyBpcyBhIHN0cmluZyI7Cgl3cml0ZUNvbnRhaW5lcihzLmJlZ2luKCksIHMuZW5kKCkpOwp9