在一个遥远的星球,居住着一种神奇的破壳萌,土龙弟弟。它们有着规律的生活。每只土龙弟弟每天早上都在同一时间起床并出门旅行。每个傍晚,它都回到当天早晨起床出发的地方,躺下睡觉。但是第二天它可能在略微不同的地方醒来(不超过0.1米距离),因为它可能梦游。
这个星球的地图可以被描述为一个n x m的网格。格子(i,j)(1 ≤ i ≤ n,1 ≤ j ≤ m)是一个由4条直线(x=i-1,x=i,y=j-1,y=j)确定的1米乘1米的方格。格子分为地面格和海洋格。一只土龙弟弟可以在任意地面格上移动,但是无法触碰或穿过任何海洋格。(梦游时也遵守此规则!)
这个星球的形状与地球不同,它形似一个甜甜圈。这就是说,土龙弟弟可以从地图的最左端继续向左移动,并出现在地图的最右边(或者从地图的最右边向右出现在最左边)。地图的上下边界也有类似的性质。准确地说,点(0,x)和点(n,x)可以视作同一个点(任意0 ≤ x ≤ m),点(x,0)和点(x,m)也可以视作同一个点(任意0 ≤ x ≤ n)。
蛇类学家发现土龙弟弟连续两天出门旅行的路线非常相似。土龙弟弟遵循如下规则:它所在的位置必须在昨天同一时刻它的位置的0.1米范围内。在0.1米范围内意味着它可以在两点间经由一个长度不超过0.1米的路径移动,且不触碰或穿过任何海洋格。
蛇类学家观察土龙弟弟许久了。他们获得了若干份土龙弟弟的旅行路线。但是由于数据意外丢失,现在无法确定每条路线是属于哪只土龙弟弟了。现在请你帮助科学家们确定,给出的路线最少是属于几只不同的土龙弟弟的。
输入描述:
第一行两个整数n and m。(1≤ n ≤ 1000,1 ≤ m ≤ 1000)。
接下来n行代表地图。第i+1行的第j个字符代表格子(i,j)。这个格子是地面格当且仅当这个字符是'.'。否则这个字符就是'#',代表海洋格。至少有一个地面格,至少有一个海洋格。
接下来一行有一个整数q (1 ≤ q ≤ 1000000)表示路线的个数。
接下来q行每行描述一个路线。(为了简便起见,我们假设土龙弟弟一定从某个格子的中心醒来,并在格子的中心点之间移动(通过水平或竖直移动)。)路径描述由3个整数x,y,l和一个字符串s组成。s只包含'U', 'D', 'L' 和 'R'。土龙弟弟在格子(x.y)的中心醒来 (就是(x-0.5,y-0.5)这里)。l是s的长度。字符'U'('D', 'L','R')表示土龙弟弟向上(下, 左, 右)移动1米。(所以它会移动到相邻格子的中心。)如题面所述,在格子(1,i)((n,i),(i,1),(i,m))的土龙弟弟可以往上(下,左,右)移动并到达格子(n,i)((1,i),(i,m),(i,1))。保证土龙弟弟不会进入到海洋格。保证土龙弟弟会回到开始的格子。
输出描述:
第一行输出一个整数表示答案。
接下来每行输出一组路线的编号,表示这些路线属于同一个土龙弟弟。每行按照升序输出。行之间按照第一个数字的升序输出。(路线的编号从1到q,按照输入顺序编号。)
示例1
输入
复制
8 10
..........
.......#..
........#.
..........
...#......
......###.
......###.
..........
4
7 2 12
UUURRRDDDLLL
8 2 24
LUUUUUUURRRRRDDDDDDDLLLL
8 1 46
UUUUUUURRRRRDDDDDDDRRRRUUUUUUUDDDDDDDLLLLLLLLL
8 1 32
UUUUUUURRRRRRRRRDDDDDDDLLLLLLLLL