#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;
}