#include <iostream>
#include <iterator>
#include <vector>
struct node
{
node( int init )
{
attribute = init;
}
int attribute;
};
std::ostream& operator<<( std::ostream& os, const std::pair<int, struct node>& obj )
{
os << obj.first;
os << ";" << obj.second.attribute;
return os;
}
int main() {
std::vector<std::pair<int, struct node>> path;
path.push_back( std::make_pair( 3, node( 5 ) ) );
std::copy(path.begin(), path.end(), std::ostream_iterator<std::pair<int, struct node>>(std::cout, " "));
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDx2ZWN0b3I+CgpzdHJ1Y3Qgbm9kZQp7Cglub2RlKCBpbnQgaW5pdCApCgl7CgkJYXR0cmlidXRlID0gaW5pdDsKCX0KCWludCBhdHRyaWJ1dGU7Cn07CgpzdGQ6Om9zdHJlYW0mIG9wZXJhdG9yPDwoIHN0ZDo6b3N0cmVhbSYgb3MsIGNvbnN0IHN0ZDo6cGFpcjxpbnQsIHN0cnVjdCBub2RlPiYgb2JqICkKewogICAgb3MgPDwgb2JqLmZpcnN0OwogICAgb3MgPDwgIjsiIDw8IG9iai5zZWNvbmQuYXR0cmlidXRlOwogICAgcmV0dXJuIG9zOwp9CgppbnQgbWFpbigpIHsKCQoJc3RkOjp2ZWN0b3I8c3RkOjpwYWlyPGludCwgc3RydWN0IG5vZGU+PiBwYXRoOwoJcGF0aC5wdXNoX2JhY2soIHN0ZDo6bWFrZV9wYWlyKCAzLCBub2RlKCA1ICkgKSApOwoJc3RkOjpjb3B5KHBhdGguYmVnaW4oKSwgcGF0aC5lbmQoKSwgc3RkOjpvc3RyZWFtX2l0ZXJhdG9yPHN0ZDo6cGFpcjxpbnQsIHN0cnVjdCBub2RlPj4oc3RkOjpjb3V0LCAiICIpKTsKCQoJcmV0dXJuIDA7Cn0=