#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 << " ");
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKI2luY2x1ZGUgPGJvb3N0L2xhbWJkYS9sYW1iZGEuaHBwPgojaW5jbHVkZSA8Ym9vc3QvcGhvZW5peC9waG9lbml4LmhwcD4KI2luY2x1ZGUgPGJvb3N0L3JhbmdlL2FkYXB0b3JzLmhwcD4KI2luY2x1ZGUgPGJvb3N0L3JhbmdlL2FsZ29yaXRobS9mb3JfZWFjaC5ocHA+CiNpbmNsdWRlIDxib29zdC9yYW5nZS9pcmFuZ2UuaHBwPgoKCmludCBtYWluKCkgewogICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKICAgIHVzaW5nIG5hbWVzcGFjZSBib29zdDsKICAgIHVzaW5nIG5hbWVzcGFjZSBib29zdDo6YWRhcHRvcnM7CgogICAgdXNpbmcgYm9vc3Q6OmxhbWJkYTo6XzE7CiAgICB1c2luZyBib29zdDo6cGhvZW5peDo6cGxhY2Vob2xkZXJzOjphcmcxOwoKICAgIGF1dG8gcmVzdWx0ID0gaXJhbmdlKDEsIDEwMCArIDEpCiAgICAgICAgICAgICAgICB8IGZpbHRlcmVkKGFyZzEgJSAzID09IDApCiAgICAgICAgICAgICAgICB8IHJldmVyc2VkCiAgICAgICAgICAgICAgICA7CiAgICBmb3JfZWFjaChyZXN1bHQsIGNvdXQgPDwgXzEgPDwgIiAiKTsKfQo=