T326482 寻找『TA』

题目背景

『**呼吸然**』想要出题,可是『**呼吸然**』~~**很菜**~~ 没有灵感,『**呼吸然**』需要找到『**TA**』来帮助自己出题。 『**TA**』住在一个迷宫里,为了让『**呼吸然**』找到他,他甚至还给了『**呼吸然**』一张迷宫的地图,可『**呼吸然**』是个 **~~贪婪的~~** 路痴,他直接把地图扔给了你,并让你找出『**呼吸然**』到『**TA**』的最短距离。

题目描述

『**呼吸然**』会给你一张地图,并让你找出『**呼吸然**』到『**TA**』的最短距离。

输入格式

第一行输入两个整数 $n$ 和 $m$。 接下来的 $n$ 行,每行 $m$ 个字符,`H` 代表『**呼吸然**』所在的地方,`T` 代表『**TA**』所在的地方,`*` 代表可以走的路,`!` 代表障碍。

输出格式

输出一个整数代表『**呼吸然**』到『**TA**』的最短距离,如果无法到达请输出 $-1$。

说明/提示

嗷对了,『**呼吸然**』很傲娇,所以他不愿意斜着走,怕会蹭脏衣服。 **【数据规模与约定】** 对于 $100\%$ 数据保证,$ 5 \leq n,m \leq 8000$。