金梨藏在一个被分成N×N(编号从上到下为1到N,从左到右为1到N)个格子的沙漠中,古老的寓言称,只要一个人按规定改变K次方向,金梨就会出现。Aladdin打算去寻找,但沙漠中的一些格子被巫师下了咒,咒语共7个字符,其中只有3种字符‘L’,‘R’,‘S’,如LLLRRRS,咒语的七个字符正好对应星期一至星期日,如果某人在星期三到达这个格子,则他将按咒语左转,星期四则右转,星期天则咒语睡觉一天因此不起作用。
Aladdin星期一从(1,1)格子出发向右走(格子(1,1)没有咒)。他每天走一格。如果到了有咒的格子,他将按咒语所述转90度,如果他走出沙漠,则转180度。
请编程计算Aladdin得到金梨的时间。
输入:
第一行两个正数 N 和 K (2 ≤ N ≤ 200, 1 ≤ K ≤ 1 000 000 000), 表示沙漠的大小,和他要改变方向的次数。
第二行一个整数M (0 ≤ M ≤ 10 000),表示咒语的个数。
接下来M行,每行两个整数 R 和 C (1 ≤ R, C ≤ N), 和一个七个字母的串。咒语在不同一个格子。
输出:
一个数表示找到金梨所花的天数。
50% 的数据, K 不超过1000.
样例:
输入:
3 1
0
输出:
2
输入:
5 2
2
1 3 RRSRRRR
1 5 RRRRLRR
输出:
4
输入:
5 5
3
1 3 SSRSSSS
3 3 SSSLSSS
4 3 SSRSSLS
输出:
10
在第一个样例中,他走两天到了沙漠边缘,转180度,就得到金梨。
样例2中Aladdin 到达第一个有咒语的格子用了3天,咒语在星期三睡觉,因此他的方向不变,两天后他到达第2个有咒语的格子,咒语让他左转,他转过去后到沙漠边界,并调头于是得到金梨。
时间限制:1 s
空间限制:64 MB