#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';
    }
}
