#define _CRT_SECURE_NO_WARNINGS #define _SILENCE_CXX17_C_HEADER_DEPRECATION_WARNING #include using namespace std; #define CRP(t, x) const t &x #define OPL(t, x) bool operator<(CRP(t, x)) const #define FIL(x, v) memset(x, v, sizeof(x)) #define CLR(x) FIL(x, 0) #define NE1(x) FIL(x, -1) #define INF(x) FIL(x, 0x3f) typedef long long ll, i64; ll fmul(ll a, ll b, ll m) { ll r = 0; for (; b; b >>= 1, a = (a << 1) % m) if (b & 1) r = (r + a) % m; return r; } ll fpow(ll a, ll b, ll m) { ll r = 1; for (; b; b >>= 1, a = fmul(a, a, m)) if (b & 1) r = fmul(r, a, m); return r; } bool miller_rabin(ll n, ll a) { ll d = n - 1; if (n == a) return true; if (n & 1 ^ 1) return false; while (d & 1 ^ 1) d >>= 1; ll t = fpow(a, d, n); while (d != n - 1 && t != n - 1 && t != 1) { //t = t * t % n; t = fmul(t, t, n); d <<= 1; } return t == n - 1 || (d & 1) == 1; } bool isPrime(ll x) { auto base = {2, 3, 5, 7, 11, 13, 17, 61, 24251}; for (auto a : base) { if (x == a) return true; if (!miller_rabin(x, a)) return false; } return true; } inline ll inv(ll x, ll m) { return fpow(x, m - 2, m); } int main() { ll p; cin>>p; cout<