#include <iostream>
#include <vector>
using namespace std;
class three_d{
int x, y, z;
public:
three_d() { x = y = z = 0; }
three_d(int a, int b, int c) { x = a; y = b; z = c; }
void print(){
cout<<x<<", ";
cout<<y<<", ";
cout<<z<<"\n";
}
};
int main()
{
int i;
vector<int> m;
m.push_back(1);
m.push_back(2);
m.push_back(3);
for (i=0;i<m.size();i++)
cout<<m[i]<<" ";
cout<<"\n";
vector<int *> d;
d.push_back(new int(1));
d.push_back(new int(2));
d.push_back(new int(3));
for (i=0;i<d.size();i++)
cout<<*d[i]<<" ";
cout<<"\n";
vector<three_d *> v;
vector<three_d *>::iterator p = v.begin();
v.push_back(new three_d(1,2,3));
v.push_back(new three_d(4,5,6));
v.push_back(new three_d(7,8,9));
p=v.begin();
p+=2;
v.insert(p,1,new three_d(10,11,12));
for (i=0;i<v.size();i++)
v[i]->print();
p=v.begin();
p+=1;
v.erase(p,p+1);
cout<<"after erasing\n";
for (i=0;i<v.size();i++)
v[i]->print();
return 0;
}