#include <iostream>
#include<vector>
#include<unordered_map>
using namespace std;

int main() {
	// your code goes here
	vector<int> arr={1,1,1,2,2,3,3,4};
	
	unordered_map<int,int> m;
	for(int i=0;i<arr.size();i++) {
		m[arr[i]]++;
	}
	
	for (auto it = m.begin(); it != m.end(); it++) {
        cout << it->first << " -> " << it->second << endl;
    }
	return 0;
}