#P13135. [ARC086F] Shift and Decrement

    ID: 12319 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>CF2600数学枚举排序扫描线计数DP数论组合数学

[ARC086F] Shift and Decrement

题目描述

黑板上写有 NN 个非负整数 A1,,ANA_1,\, \ldots,\, A_N

すぬけ君可以按任意顺序,最多进行 KK 次如下两种操作之一:

  • 操作 A:将黑板上所有整数都替换为用 22 整除后的结果(向下取整)。
  • 操作 B:把黑板上所有整数都减去 11。但如果黑板上有 00 出现,则不能进行此操作。

请你求出经过任意次数的操作后,黑板上可能出现的所有不同整数排列有多少种,并对 10000000071\,000\,000\,007 取模。

输入格式

输入为一行,格式如下:

NN KK A1A_1 A2A_2 \cdots ANA_N

输出格式

输出一个整数,表示通过任意操作后,黑板上整数排列所有可能的不同方案数,对 10000000071\,000\,000\,007 取模。

输入输出样例 #1

输入 #1

2 2
5 7

输出 #1

6

输入输出样例 #2

输入 #2

3 4
10 13 22

输出 #2

20

输入输出样例 #3

输入 #3

1 100
10

输出 #3

11

输入输出样例 #4

输入 #4

10 123456789012345678
228344079825412349 478465001534875275 398048921164061989 329102208281783917 779698519704384319 617456682030809556 561259383338846380 254083246422083141 458181156833851984 502254767369499613

输出 #4

164286011

说明/提示

限制条件

  • 1N2001 \leq N \leq 200
  • 1Ai10181 \leq A_i \leq 10^{18}
  • 1K10181 \leq K \leq 10^{18}
  • Ai, KA_i,\ K 均为整数

样例解释 1

所有可能出现的黑板上的整数排列为:$(1,\,1),\ (1,\,2),\ (2,\,3),\ (3,\,5),\ (4,\,6),\ (5,\,7)$,共有 66 种。例如 (1,2)(1,\,2) 可以通过依次执行操作A、操作B得到。