Problem C: 甜甜花酿鸡

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:91 Solved:17

Description

米小游来到了一个地图上,准备去采集1个甜甜花和1个禽肉来制作甜甜花酿鸡。已知米小游在地图上移动一次(上、下、左、右)需要花费1的时间。采集不需要花费时间。米小游采集完以后需要到篝火处才能制作甜甜花酿鸡(制作同样不需要花费时间)。米小游想知道,她至少需要多少时间才能制作一个甜甜花酿鸡?

Input

第一行输入两个正整数n和m,代表地图的行数和列数。接下来的n行,每行输入一个长度为m的字符串。
字符‘.'代表陆地,米小游可以通过。
字符‘#’代表甜甜花.
字符‘$’代表禽肉.
字符“^”代表篝火.
宁符‘B’代表该处有一个遗迹守卫,米小游无法通过.
字符‘m’是代表米小游的初始位置。
保证禽肉、甜甜花和篝火总数不超过30.保证仅有一个‘m’.
1<n, m <=100

Output

一个整数代表他花费的最少时间

Sample Input Copy

5 5
.#.m.
#.B.B
B^...
...B#
$..$^

Sample Output Copy

7

HINT

下下右下下左右共花费7单位时间