int NrMinMaxAp(std::vector < int > & a) {
std::vector < int > ::iterator i;
std::map < int, int > va;
std::map < int, int > ::iterator vai;
int min, k;
for (i = a.begin(); i <= a.end(); i++)
va[ * i]++;
min = va.begin() -> first;
k = va.begin() -> second;
vai = ++va.begin();
for (; vai != va.end(); vai++)
if (vai -> second > k) {
k = vai -> second;
min = vai -> first;
}
else
if (vai -> second == k)
if (vai -> first < min)
min = vai -> first;
return min;
}