#P6195. [EER1] 迫害

[EER1] 迫害

题目背景

"In Germany they first came for the Communists,

and I didn't speak up because I wasn't a Communist.

Then they came for the Jews,

and I didn't speak up because I wasn't a Jew.

Then they came for the trade unionists,

and I didn't speak up because I wasn't a trade unionist.

Then they came for the Catholics,

and I didn't speak up because I was a Protestant.

Then they came for me ,

and by that time no one was left to speak up."

-- Pastor Martin Niemöller

”起初他们迫害共产党员,我没有说话,因为我不是马克思的信徒。

后来他们迫害犹太人,我没有说话,因为我是日耳曼人。

再后来他们迫害天主教徒,我没有说话,因为我是新教牧师。

最后他们迫害到我头上,我环顾四周,却再也没有人能为我说话。”

题目描述

kk 个人,X 要对这 kk 个人进行迫害。

kk 个人,每一个人都拥有一个数字,分别从 11kk

X 拥有 n+mn+m 个数字,这些数字为 nn11mm 个大小可由 X 决定的数字(每个数字定好之后不能更换)。

X 能对这些人进行迫害,当且仅当他能用手中若干个数的加和等于被迫害人的数字,一次迫害就成功了(不会消耗数字)。

由于 X 的权利极大,又十分邪恶,他想要从第 11 个人开始一个一个进行迫害行动。

由于小 Z 也在这个被迫害的行列里,他十分的慌张,希望你来告诉他 X 能最多能从第一个人开始连续迫害多少个人。

由于被迫害的人太多了,所以请将答案对 10000000071000000007 取模。

输入格式

第一行两个整数 n,mn,m,表示 X 有 nn11,有 mm 个大小可自定的数。

输出格式

请你告诉小 Z,X 能迫害多少个人。

1 2
7
2 2
11

提示

【样例 1 解释】

X 选取 22 个数分别为 2,42,4,可知能连续迫害 77 个人。

【样例 2 解释】

X 选取 22 个数分别为 3,63,6,可知能连续迫害 1111 个人。


【数据范围】

本题采用捆绑测试。

  • Subtask 1(50 points):1n51 \le n \le 51m51 \le m \le 5
  • Subtask 2(30 points):保证答案在取模前在 101810^{18} 之内。
  • Subtask 3(20 points):无特殊限制。

对于 100%100\% 的数据,1n1061 \le n \le 10^6 1m1091 \le m \le 10^9