#include <iostream>
#include <array>

template <std::uint8_t N>
constexpr std::array<std::uint16_t, N> mersenne_numbers()
{
    std::array<std::uint16_t, N> res{};
    for (uint i = 0; i != N; ++i)
    {
        res [i] = (1u << i) - 1;
    }
    return res;
}

int main()
{
    const auto ns = mersenne_numbers<5>();
    for (auto e : ns) {
        std::cout << e << " ";
    }
    std::cout << std::endl;
}
