#include <bits/stdc++.h>
using namespace std;
int GCD(int a, int b) { return b ? GCD(b, a % b) : a; }
struct sort_pred {
  bool operator()(const pair<int, int> &left, const pair<int, int> &right) {
    return left.second < right.second;
  }
};
long long POW(long long Base, long long Exp) {
  long long y, ret = 1;
  y = Base;
  while (Exp) {
    if (Exp & 1) ret = (ret * y);
    y = (y * y);
    Exp /= 2;
  }
  return ret;
}
vector<pair<long long, long long> > A, Rec, Rec2;
int clusters = 1;
int x[4] = {1, -1, 0, 0};
int y[4] = {0, 0, 1, -1};
vector<pair<pair<int, int>, long long> > Jobs;
long long nCr[1001][1001];
void calnCr() {
  nCr[0][0] = nCr[1][0] = nCr[1][1] = 1;
  int i, j;
  for (i = 2; i < 1001; i++) {
    nCr[i][0] = nCr[i][i] = 1;
    for (j = 1; j < i; j++) nCr[i][j] = (nCr[i - 1][j - 1] + nCr[i - 1][j]);
  }
}
int main() {
  long long n, i, Ans, tmp;
  cin >> n;
  Ans = 1;
  calnCr();
  Ans = nCr[n][5] * nCr[n][5] * 120;
  cout << Ans << endl;
  return 0;
}
