#include <iostream>
#include <string>
#include <map>
int main(){
std::string names_str[7] = {"Alex", "Louis", "Alex", "Simon", "Matthew", "Carl", "Simon"};
int names[7];
std::map<std::string, int> counter_map;
int counter = 0;
for (int i = 0; i < 7; ++i)
{
auto iter = counter_map.find(names_str[i]);
if (iter == counter_map.end())
iter = counter_map.insert(std::make_pair(names_str[i], counter++)).first;
names[i] = iter->second;
}
for (int i = 0; i < 7; ++i)
std::cout << names[i] << ' ';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bWFwPgoKaW50IG1haW4oKXsKCXN0ZDo6c3RyaW5nIG5hbWVzX3N0cls3XSA9IHsiQWxleCIsICJMb3VpcyIsICJBbGV4IiwgIlNpbW9uIiwgIk1hdHRoZXciLCAiQ2FybCIsICJTaW1vbiJ9OwoJaW50IG5hbWVzWzddOwoKCXN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBpbnQ+IGNvdW50ZXJfbWFwOwoJaW50IGNvdW50ZXIgPSAwOwoKCWZvciAoaW50IGkgPSAwOyBpIDwgNzsgKytpKQoJewoJCWF1dG8gaXRlciA9IGNvdW50ZXJfbWFwLmZpbmQobmFtZXNfc3RyW2ldKTsKCQlpZiAoaXRlciA9PSBjb3VudGVyX21hcC5lbmQoKSkKCQkJaXRlciA9IGNvdW50ZXJfbWFwLmluc2VydChzdGQ6Om1ha2VfcGFpcihuYW1lc19zdHJbaV0sIGNvdW50ZXIrKykpLmZpcnN0OwoJCW5hbWVzW2ldID0gaXRlci0+c2Vjb25kOwoJfQoKCWZvciAoaW50IGkgPSAwOyBpIDwgNzsgKytpKQoJCXN0ZDo6Y291dCA8PCBuYW1lc1tpXSA8PCAnICc7CglyZXR1cm4gMDsKfQ==