QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 1024 MB Total points: 100

#15830. Nine Never

統計

从前,有一位伟大的将军名叫左(Tso),他以擅长将士兵分成小组执行不同任务而闻名。如果可能的话,左将军会尽可能多地将士兵分组,以提高灵活性。然而,有一个只有极少数人知道的小秘密:左将军年轻时,一位算命先生警告他,“9”对他来说是一个超级不吉利的数字。因此,现在每当左将军将士兵分组时,他都会确保这些小组中任意组合的士兵总数都不会等于 9。

例如,当有 $N = 11$ 名士兵时,我们可以将士兵分成三组,每组人数分别为 3、4、4,这样任意组合的总和都不会正好等于 9(总和只能是 3、4、7、8 或 11)。另一种方法是将士兵分成四组,每组人数分别为 1、3、3、4,这样任意组合的总和同样不会正好等于 9(总和只能是 1、3、4、5、6、7、8、10 或 11)。由于后一种方法的分组数量更多,因此它比前一种方法更好。

相比之下,如果我们把士兵分成 11 组,每组 1 人,虽然分组数量更多,但某些组合(取其中 9 组)的总人数会正好等于 9,因此这对左将军来说不是一种可行的分组方式。

作为左将军最可靠的助手之一,你被分配了以下任务:给定士兵总数 $N$(其中 $N \neq 9$),帮助左将军找到可以形成的最大分组数 $K$。

输入格式

输入仅包含一行,为一个正整数 $N$。

输出格式

设 $K$ 为所求的最大分组数。输出仅包含一行,打印一个非负整数 $X$,使得 $X$ 为 $K$ 除以 $10^9 + 7$ 的余数。即 $X \equiv K \pmod{10^9 + 7}$,且 $0 \leq X < 10^9 + 7$。

数据范围

  • $1 \leq N \leq 10^{15}$
  • $N \neq 9$
  • $0 \leq X < 10^9 + 7$

样例

输入 1

11

输出 1

4

输入 2

8

输出 2

8

输入 3

12345678901234

输出 3

839407413

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.