#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <unordered_map>
int main()
{
std::vector<std::string> my_vec{ "hey","how","are","you","fine","and","you","fine" };
std::unordered_map<std::string, int> m;
for (auto it = my_vec.begin(); it != my_vec.end();)
{
if (++m[*it] == 1)
++it;
else
it = my_vec.erase(it);
}
for (auto const& s : my_vec)
{
std::cout << s << ':' << m[s] << '\n';
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KCmludCBtYWluKCkKewogICAgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IG15X3ZlY3sgImhleSIsImhvdyIsImFyZSIsInlvdSIsImZpbmUiLCJhbmQiLCJ5b3UiLCJmaW5lIiB9OwogICAgc3RkOjp1bm9yZGVyZWRfbWFwPHN0ZDo6c3RyaW5nLCBpbnQ+IG07CiAgICBmb3IgKGF1dG8gaXQgPSBteV92ZWMuYmVnaW4oKTsgaXQgIT0gbXlfdmVjLmVuZCgpOykKICAgIHsKICAgICAgICBpZiAoKyttWyppdF0gPT0gMSkKICAgICAgICAgICAgKytpdDsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGl0ID0gbXlfdmVjLmVyYXNlKGl0KTsKICAgIH0KCiAgICBmb3IgKGF1dG8gY29uc3QmIHMgOiBteV92ZWMpCiAgICB7CiAgICAgICAgc3RkOjpjb3V0IDw8IHMgPDwgJzonIDw8IG1bc10gPDwgJ1xuJzsKICAgIH0KfQo=