#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int INF = 0x3f3f3f3f; const double EPS = 0.000000001; const double PI = 3.141592653589793; const long long LLINF = 99999999999999999LL; const int MAX_N = 1000002; int N; int v[MAX_N]; int main() { /* #ifndef ONLINE_JUDGE freopen("data.in", "r", stdin); #endif */ cin >> N; int ans; if(N <= 10) { ans = 1; for(int i = 1; i < N; ++i) { ans *= i; ans %= N; } } else { bool isPrime = 1; if(N % 2 == 0) { isPrime = 0; } for(int i = 3; 1LL * i * i <= 1LL * N; ++i) { if(N % i == 0) { isPrime = 0; break; } } if(isPrime) { ans = N - 1; } else { ans = 0; } } printf("%d\n", ans); return 0; }