#include <iostream>

#include <boost/lambda/lambda.hpp>
#include <boost/phoenix/phoenix.hpp>
#include <boost/range/adaptors.hpp>
#include <boost/range/algorithm/for_each.hpp>
#include <boost/range/irange.hpp>


int main() {
    using namespace std;
    using namespace boost;
    using namespace boost::adaptors;

    using boost::lambda::_1;
    using boost::phoenix::placeholders::arg1;

    auto result = irange(1, 100 + 1)
                | filtered(arg1 % 3 == 0)
                | reversed
                ;
    for_each(result, cout << _1 << " ");
}
