{
TASK:STR
LANG:PASCAL
}


const c = 4999999;
var kk, p, n, i, j, k, s,x ,z  : longint;
    m : int64;



Function ah(p, q : longint):longint;
begin
  m:=1;



  for j:=(p-q+1) to p do begin
    m:=m*j;
    kk:=j-(p-q);
    if kk<=q then  m:=m div( kk);
    m := m mod c;
  end;
  if p=q then m:=1;
  m:=m mod c;
  ah:=m;
end;




Begin
  readln(n);
  k:=( n* (n - 1)) div 2;

  for i:=0 to k-n+1 do begin
    z:=ah(k, i);
    x:=ah(i, n-1);
    s:=s + z -n*x;
    s:=s mod c;
    s:=s+c;
  end;

  s:=s mod c;
  writeln(s);
end.


