#include <iostream>
#include <vector>
#include <algorithm>
 
using std::cout;
using std::endl;
 
using std::vector;
using std::unique;
using std::distance;
 
void unique_output(const vector<int>& v){
	vector<int> vv(v);
	auto it = unique(vv.begin(), vv.end());
	vv.resize(distance(vv.begin(), it));
	for_each(vv.begin(), vv.end(), [](int w){
		cout << w << ' ';
	});
	cout << endl;
}

int main(){
	vector<int> a = {1, 2, 3, 4, 6, 5, 2, 3, 4, 1, 2, 5, 1, 3, 6, 5};
	vector<int> b = {1, 2, 3, 4, 4, 6, 5, 5, 2, 2, 2, 2, 2, 3, 4, 3, 2, 1};

	unique_output(a);
	unique_output(b);

	return 0;
}
