#include <iostream>
#include <map>
#include <string>
#include <vector>
#include <utility>
#include <algorithm>

using namespace std;

using freqMap = map<char, int>;
using freqMapElement = typename map<char, int>::value_type;

bool cmpByValue(const freqMapElement* p1, const freqMapElement* p2)
{
    return p1->second > p2->second;
}

int main()
{
    string s = "ASDASDASD";

    freqMap freq_map;
    for (auto c : s)
    {
        freq_map[c]++;
    }

    vector<freqMapElement*> freq_vec;
    freq_vec.reserve(freq_map.size());
    for (auto &elem : freq_map)
    {
        freq_vec.push_back(&elem);
    }
    sort(freq_vec.begin(), freq_vec.end(), cmpByValue);

	freqMapElement* top = *freq_vec.begin();
	cout << top->first << ' ' << top->second << endl;

    return 0;
}