#include <bits/stdc++.h>
using namespace std;
 template<typename T1, typename T2 = typename T1::value_type>
	auto find_all(const T1& ar, T2 xr)
	{
		typedef typename T1::const_iterator const_iterator;
		vector<const_iterator> it;
		for (auto it2 = ar.cbegin(); it2 != ar.cend(); ++it2)
			if (*it2 == xr)
				it.push_back(it2);
		return it;
	}
int main() 
{
	vector<int> ar={1,2,3,1,2,3,1,2,3,1,2,3};
	auto it=find_all(ar,1);
	for(auto x : it)
		cout<<distance(x,ar.cbegin())<<endl;
	return 0;
}