5. What is the output of the following C++ program?

#include <algorithm>
#include <iostream>
#include <vector>

bool compare(int a, int b)
{
    return a % 3 < b % 3;
}

int main()
{
    typedef std::vector<int> V;
    V v({7, 0, 8, 5, 2, 11});

    std::sort(v.begin(), v.end());
    typedef V::const_reverse_iterator R;
    const R i = std::adjacent_find(v.rbegin(), v.rend(), compare);
    if (i == v.rend()) {
        std::cout << -1 << std::endl;
    }
    else {
        std::cout << *i << *(i + 1) << std::endl;
    }

    return 0;
}