#include using namespace std; #define FOR(i,a,b) for(int i = (a); i <= (b); ++i) #define FORD(i,a,b) for(int i = (a); i >= (b); --i) #define RI(i,n) FOR(i,1,(n)) #define REP(i,n) FOR(i,0,(n)-1) #define mini(a,b) a=min(a,b) #define maxi(a,b) a=max(a,b) #define mp make_pair #define pb push_back #define st first #define nd second #define sz(w) (int) w.size() typedef vector vi; typedef long long ll; typedef long double ld; typedef pair pii; const int inf = 1e9 + 5; const int nax = 1e6 + 5; int f(int n) { int r = 1; RI(i, n - 1) r = (ll) r * i % n; return r; } int main() { int n; scanf("%d", &n); if(n <= 10) printf("%d\n", f(n)); else { for(int a = 2; a * a <= n; ++a) if(n % a == 0) { puts("0"); return 0; } printf("%d\n", n - 1); } return 0; }