#include <map>
#include <iostream>
template<typename K, typename V>
using MapIterator = typename std::map<K,V>::const_iterator;

template<typename K, typename V>
void PrintMap(const std::map<K,V>& m) {
    for (MapIterator<K, V> iter = m.begin(); iter != m.end(); iter++) {
        std::cout << "Key: " << iter->first << " "
              << "Values: " << iter->second << std::endl;
    }
}

int main() {
	std::map<int, int> x = {{5, 7}, {8, 2}};
	PrintMap(x);
	return 0;
}