#include <iostream>
#define f(i,a,b) for(int i=a;i<=b;i++)
#define g(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
int n,ans;
char vis[25];
int a[25];
void dfs(int deep) {
if(deep>n) {
ans++;return;
}
f(i,1,n) {
if(!vis[i]&&deep!=i) {
a[deep]=i;
vis[i]=1;
dfs(deep+1);
vis[i]=0;
}
}
}
int main(){
cin>>n;
dfs(1);
cout<<ans;
return 0;
}