#include <cstdio>
template <unsigned Number, unsigned D>
struct is_prime_rec
{
static const bool value = (D * D > Number) ? true :
(Number % D == 0) ? false :
is_prime_rec<Number, D + 1>::value;
};
template <unsigned Number>
struct is_prime
{