【题目描述】
有四个队伍参加ACM的暑期培训,时间为n天。四个队伍的名字分别标为队伍A、B、C、D,每天有一支队伍负责出题。作为培训班的老师,你可以决定每天由哪支队伍出题。但是有一些事项要注意:
1.没有队伍能够连续两天出题;
2.在培训的其中m天中,负责出题的队伍事先已经确定(例如:A队负责出第1天的题,B队负责出第6天的题,这两天的出题队伍就不能再被改变);
询问一共有多少种安排方案并输出结果(结果要对1000000007求余)。
【输入描述】
第一行两个整数n、m (1 ≤ n ≤ 10000000,0 ≤ m ≤ 10),n表示暑期培训的天数,m表示已经安排好的天数。接下来的m行表示对应天负责出题的队伍。
【输出描述】
所有的方案数(结果要对1000000007求余)。
【样例输入】
样例1:
3 2
1 A
3 C
样例2:
2 1
1 D
【样例输出】
样例1:
2
样例2:
3
【数据范围及提示】
样例1:
ABC、ADC
样例2:
DA、DB、DC