// 愚直解 #include #define ll long long #define abs(x) ((x) < 0 ? -(x) : (x)) #pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #pragma warning(disable: 4996) int main(void) { ll p; scanf("%lld", &p); ll K = (p - 1) >> 1; ll t = -4 * K * K - 16 * K + 1; ll a = p - abs(t) % p; for (ll x = 1; x <= K; ++x) { if (a != x * x % p) { continue; } printf("YES\n"); return 0; } printf("NO\n"); return 0; }