program main
  implicit none
  integer(8) :: i, n, res, fact(1000)
  integer(8), parameter :: md = 1000000007
  read(*, *) n

  fact(:) = 0
  do i = 1, n
    call factorial(i, fact)
  end do

  res = 1
  do i = 1, n
    res = mod(res * (fact(i) + 1), md)
  end do
  write(*, "(i0)") res

  contains

  subroutine factorial(n, fact)
    implicit none
    integer(8), intent(in) :: n
    integer(8), intent(inout) :: fact(:)
    integer(8) :: rest, i
    rest = n
    i = 2
    do while (i <= rest)
      if (mod(rest, i) == 0) then
        rest = rest / i
        fact(i) = fact(i) + 1
      else
        i = i + 1
      end if
    end do
  end subroutine factorial
end
