#CF1174E. Ehab and the Expected GCD Problem

Ehab and the Expected GCD Problem

题目内容

对于一个排列 pp,定义函数 f(p)f(p) 如下:令 gig_i 为元素 p1,p2,,pip_1, p_2, \dots, p_i 的最大公约数(即前缀 gcd\gcd)。则 f(p)f(p)g1,g2,,gng_1, g_2, \dots, g_n 中互不相同的元素个数。

fmax(n)f_{max}(n) 为所有 1,2,,n1,2,\dots,n 的排列 ppf(p)f(p) 的最大值。

给定整数 nn,求有多少个 1,2,,n1,2,\dots,n 的排列 pp 满足 f(p)=fmax(n)f(p) = f_{max}(n)。由于答案可能很大,请输出其对 109+710^9+7 取模的结果。

输入

仅一行包含一个整数 nn2n1062 \le n \le 10^6)——排列的长度。

输出

仅一行应包含答案对 109+710^9+7 取模的结果。

样例

样例 1

2

1

样例 2

3

4

样例 3

6

120

注意

对于第二个样例,长度为 33 的排列如下:

  • [1,2,3][1,2,3]f(p)=1f(p)=1
  • [1,3,2][1,3,2]f(p)=1f(p)=1
  • [2,1,3][2,1,3]f(p)=2f(p)=2
  • [2,3,1][2,3,1]f(p)=2f(p)=2
  • [3,1,2][3,1,2]f(p)=2f(p)=2
  • [3,2,1][3,2,1]f(p)=2f(p)=2

最大值为 fmax(3)=2f_{max}(3)=2,有 44 个排列满足 f(p)=2f(p)=2