比赛场次 576
比赛名称 4043级2023省选模拟赛7
比赛状态 已结束比赛成绩
开始时间 2023-03-29 08:00:00
结束时间 2023-03-29 12:30:00
开放分组 全部用户
注释介绍 春风十里,好题
题目名称 Problem Setting
输入输出 wentiji.in/out
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试点数 20 简单对比
用户 结果 时间 内存 得分
Gravatarop_组撒头屯 AAAAAAAAAAAAAAAAAAAA
11.410 s 48.58 MiB 100
Gravataryrtiop AAAAAAAAAAAAAAAAAAAA
14.458 s 14.85 MiB 100
Gravatarムラサメ WWAWWWWWWWWWWWWWWWWW
0.000 s 0.00 MiB 5

Problem Setting

★★★   输入文件:wentiji.in   输出文件:wentiji.out   简单对比
时间限制:2 s   内存限制:256 MiB

【题目描述】

农夫约翰想要创建一个问题集。

为此,他一共找到了 $N$ 个问题,编号 $1 \sim N$。

然后,他找了 $M$ 头奶牛来做这些题,每个奶牛对每个问题都有一个评价,要么是“简单”,要么是“困难”。


约翰希望创建的问题集满足以下所有条件:

$1$、问题集由按某种顺序排列的若干个问题组成,且问题集非空。

$2$、问题集内不存在两个问题 $a,b$ 满足,虽然问题 $a$ 排在问题 $b$ 的前面,但存在某个奶牛认为问题 $a$ 困难,而问题 $b$ 简单。

请你计算,约翰一共可以创建多少个不同的问题集。


结果对 $10^9+7$ 取模。

注意,包含问题相同,但是问题排列不同的问题集应被视为不同的问题集,例如 $[1,2,3]$ 和 $[1,3,2]$ 应被视为两个不同的问题集。

【输入格式】

第一行包含两个整数 $N,M$。

接下来 $M$ 行,每行包含一个长度为 $N$ 的字符串,每个字符要么为 $E$,要么为 $H$,其中第 $i$ 行第 $j$ 个字符表示第 $i$ 个奶牛对第 $j$ 个问题的评价,$E$ 表示简单,$H$ 表示困难。

【输出格式】

一个整数,表示可以创建的不同问题集数量对 $10^9+7$ 取模的结果。

【样例1输入】

3 1
EHE

【样例1输出】

9

【样例1解释】

$9$ 个可能的问题集如下:

$[1]$

$[1,2]$

$[1,3]$

$[1,3,2]$

$[2]$

$[3]$

$[3,1]$

$[3,2]$

$[3,1,2]$

【样例2输入】

10 6
EHEEEHHEEH
EHHHEEHHHE
EHEHEHEEHH
HEHEEEHEEE
HHEEHEEEHE
EHHEEEEEHE

【样例2输出】

33

【样例3】

点击下载样例3

【数据规模与约定】

测试点 $1 \sim 2$:$M = 1$;

测试点 $3 \sim 12$:$M \leq 16$;

对于 $100\%$ 的数据,$1≤N≤10^5,1≤M≤20$。