#pragma GCC optimize ( "O3" ) #pragma GCC optimize ( "unroll-loops" ) #pragma GCC target ( "sse4.2,fma,avx2,popcnt,lzcnt,bmi2" ) typedef long long ll; int main() { int P; scanf( "%d" , &P ); ll a = 0; for( int i = 0 ; i < P ; ++i ){ a *= i; ++a; a %= P; } printf( "%lld\n" , a ? P - a : a ); }