#include <string>
#include <iostream>

std::size_t preceding_pow2(std::size_t v)
{
    v--;
    v |= v >> 1;
    v |= v >> 2;
    v |= v >> 4;
    v |= v >> 8;
    v |= v >> 16;
    return (++v) >> 1;
}

int main(int argc, char* argv[])
{
    std::size_t n = argc > 1 ? std::stoull(argv[1]) : 1ULL << 6;
    for (std::size_t i = 0; i < n; ++i) {
        std::cout << i << " " << preceding_pow2(i) << std::endl;
    }
    return 0;
}
