This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using std::vector;
using std::array;
using std::pair;
using std::tuple;
using i64 = std::int64_t;
constexpr bool is_prime(const i64 x) {
if (x <= 1) {
return false;
}
for (i64 i = 2; i * i <= x; ++i) {
if (x % i == 0) {
return false;
}
}
return true;
}
template <class T> void println(const T& x) {
std::cout << x << '\n';
}
template <class T, class... Arg> void println(const T& x, const Arg&... args) {
std::cout << x << ' ';
println(args...);
}
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
i64 A, B;
std::cin >> A >> B;
if (is_prime(std::abs(A - B))) {
println(2);
println(A, B);
return 0;
}
const bool x = is_prime(A + 2), y = is_prime(A - 2);
const bool z = is_prime(B + 2), w = is_prime(B - 2);
if (x and z) {
println(5);
println(A, A + 2, 2, B + 2, B);
return 0;
}
if (x and w) {
println(4);
println(A, A + 2, 2, B);
return 0;
}
if (y and z) {
println(4);
println(A, 2, B + 2, B);
return 0;
}
if (y and w) {
println(3);
println(A, 2, B);
return 0;
}
if (A == 2 and z) {
println(3);
println(2, B + 2, B);
return 0;
}
if (B == 2 and x) {
println(3);
println(A, A + 2, 2);
return 0;
}
std::cout << -1 << '\n';
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |