#include <iostream>
#include<vector>
#include<climits>
#include<unordered_map>
using namespace std;
int main() {
// your code goes here
vector<int> arr={1,2,3,2,3,1,1};
int maxAns=INT_MIN;
int minAns=INT_MAX;
int minElement=0;
int maxElement=0;
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++) {
int count=it->second;
int number=it->first;
if(count<minAns) {
minAns=count;
minElement=number;
}
if(count>maxAns) {
maxAns=count;
maxElement=number;
}
}
cout<<maxElement<<" "<<maxAns<<endl;
cout<<minElement<<" "<<minAns<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPGNsaW1pdHM+CiNpbmNsdWRlPHVub3JkZXJlZF9tYXA+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgl2ZWN0b3I8aW50PiBhcnI9ezEsMiwzLDIsMywxLDF9OwoJaW50IG1heEFucz1JTlRfTUlOOwoJaW50IG1pbkFucz1JTlRfTUFYOwoJaW50IG1pbkVsZW1lbnQ9MDsKCWludCBtYXhFbGVtZW50PTA7CgkKCXVub3JkZXJlZF9tYXA8aW50LGludD4gbTsKIAoJZm9yKGludCBpPTA7aTxhcnIuc2l6ZSgpO2krKykgewoJCW1bYXJyW2ldXSsrOwoJfQoJCglmb3IoYXV0byBpdD1tLmJlZ2luKCk7aXQhPW0uZW5kKCk7aXQrKykgewoJCWludCBjb3VudD1pdC0+c2Vjb25kOwoJCWludCBudW1iZXI9aXQtPmZpcnN0OwoJCQoJCWlmKGNvdW50PG1pbkFucykgewoJCQltaW5BbnM9Y291bnQ7CgkJCW1pbkVsZW1lbnQ9bnVtYmVyOwoJCX0KCQkKCQlpZihjb3VudD5tYXhBbnMpIHsKCQkJbWF4QW5zPWNvdW50OwoJCQltYXhFbGVtZW50PW51bWJlcjsKCQl9Cgl9CgkKCWNvdXQ8PG1heEVsZW1lbnQ8PCIgIjw8bWF4QW5zPDxlbmRsOwoJY291dDw8bWluRWxlbWVudDw8IiAiPDxtaW5BbnM8PGVuZGw7CglyZXR1cm4gMDsKfQo=