#include template bool is_prime(const T x) { for (T i = 2; i <= std::sqrt(x); ++i) if (x % i == 0) return false; return true; } template bool is_prime2(const T x) { if (x > 2 && x % 2 == 0) return false; for (T i = 3; i <= std::sqrt(x); i += 2) if (x % i == 0) return false; return true; } template bool is_prime3(const T x) { if (x == 2 || x == 3) return true; if (x > 2 && x % 2 == 0) return false; if (x < 9) return true; if (x % 3 == 0) return false; for (T i = 5; i <= std::sqrt(x); i += 6) if (x % i == 0 || x % (i + 2) == 0) return false; return true; } // template bool is_prime4(const T x) {...} // best is AKS...