#include <set>
#include <iostream>

int main()
{
    auto comp = [](const auto& a, const auto& b) { return a.second < b.second; };
    std::set<std::pair<int, int>, decltype(comp) > s(comp);

    s.insert(std::make_pair(1, 1));
    s.insert(std::make_pair(2, 1));
    s.insert(std::make_pair(3, 1));

    for(auto const &kv : s)
        std::cout << "Value: " << kv.second << std::endl;

    return 0;
}