#3511. 幸运子序列

幸运子序列

题目描述

Petya 非常喜欢幸运数字。众所周知,幸运数是十进制表示中只含幸运数字 4 和 7 的正整数。例如 47、744、4 是幸运数,而 5、17、467 不是。

Petya 有一个由 nn 个整数组成的序列 aa。

序列 aa 的子序列是指从 aa 中删除零个或多个元素后得到的序列。

两个子序列只要所含元素的下标集合不同,就视为不同——元素本身的值不影响比较。特别地,任何长度为 nn 的序列都恰有 2n2^n 个不同的子序列(包括空子序列)。

称一个子序列为幸运子序列,当且仅当其长度恰好为 kk,且不包含两个相同的幸运数(非幸运数可以重复任意多次)。

请帮 Petya 求序列 aa 中不同幸运子序列的个数。由于 Petya 的父母不让他玩大数,请输出对质数 109+710^9+7 取模后的结果。

输入格式

第一行包含两个整数 nn 和 kk(1≤k≤n≤1051 \le k \le n \le 10^5)。第二行包含 nn 个整数 aia_i(1≤ai≤1091 \le a_i \le 10^9),即序列 aa。

输出格式

一行输出一个数——答案对质数 109+710^9+7 取模后的值。

3 2
10 10 10
3
4 2
4 4 7 7
4

说明/提示

第一组样例中,所有 3 个所需长度的子序列都是幸运子序列。

第二组样例中有 4 个幸运子序列,其下标集合(下标从 1 开始)分别为 {1,3}、{1,4}、{2,3} 和 {2,4}。