#include <array>
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include "primes.hpp"

#ifndef NOF_PRIMES
#define NOF_PRIMES 100
#endif

template<std::size_t... Primes>
constexpr auto make_array(primes_sequence<Primes...>) ->
      std::array<std::size_t, sizeof...(Primes)> {
   return {Primes...};
}

auto primes = make_array(make_primes_sequence<NOF_PRIMES>());

int main() {
   std::size_t count = 0;
   for (auto val: primes) {
      std::cout << std::setw(8) << val;
      ++count;
      if (count % 8 == 0) {
	 std::cout << std::endl;
      }
   }
   if (count % 8) {
      std::cout << std::endl;
   }
}
