Type: Default File IO: walk 1000ms 512MiB

步行回家

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目背景

你要从点 nn 步行回家。

题目描述

现在你在点 nn 上。

当你在点 xx 上时,你可以选择进行三种类型的移动:

  1. x<nx<n,你可以后退一步到点 x+1x+1 上。

  2. 你可以前进一步移动到点 x1x-1 上。

  3. 你可以移动到点 dd 上,满足 dxd\mid x

其中 dxd\mid x 表示正整数 xx 可以被 dd 整除。

对于你来说,131 这样移动容易摔倒,所以不允许出现连续的三次移动类型分别为 131

每个位置最多到达一次,如你移动到了点 11 上,你会立即结束移动,求有多少种不同的路径让你最后到达了点 11

两种路径不同当且仅当存在一次移动到的位置不同或者一次移动的种类不同

答案对 998244353998244353 取模。

输入格式

一行一个正整数 nn,表示最开始所在的位置。

输出格式

一行一个正整数,表示不同的路径数量对 998244353998244353 取模之后的结果。

样例 #1

样例输入 #1

4

样例输出 #1

7

样例 #2

样例输入 #2

20

样例输出 #2

1367

样例 #3

样例输入 #3

1000

样例输出 #3

325338903

样例 #4

样例输入 #4

93234

样例输出 #4

356214790

数据范围

测试点编号 nn\le
141\sim 4 2020
585\sim 8 300300
9109\sim 10 30003000
111211\sim 12 1000010000
131613\sim 16 4000040000
172017\sim 20 10510^5