#XMOJ10976. 拼接车厢

拼接车厢

说明

时间限制:1 Sec 内存限制:256 MB 输入文件carriage.in 输出文件carriage.out

轨道上有一些列车车厢,需要拼接起来以便用车头来拉走。

轨道可以看做是连续的若干个格子。每个车厢占一个格子,它们之间可以相邻,也可以是空的格子。

轨道可以用一个仅包含.*的字符串来表示,.表示空的格子,*表示车厢。每次你可以将任意一个车厢向左或向右移动一格,前提是要移动去的那个格子是空格,且不能移动到字符串之外。

你的目标是让所有车厢相连,即,除了最左和最右的车厢外,每个车厢的左右均是车厢。请问,最少要移动多少次?

输入格式

第一行为一个整数$t$,表示有$t$组询问;

接下来为$t$行,第$i$行为第$i$组询问,每行为一个仅包含.和*</span>的字符串$s$。

输出格式

$t$行,第$i$行为对第$i$组询问的回答,为一个整数,表示至少需要移动的格子数。

样例

样例 1

5
**.*..
*****
.*.
...
*.*...*.**
1
0
0
0
9

样例说明:

11组询问,将第33个车厢向左移动11格即可。

55组询问,先将第22个车厢向右移动33格,再将第11个车厢向右移动44格,再将第44和第55个车厢依次向左移动11格,得到的结果为....*****.。总共移动99次。

数据范围

$1 \le t \le 10^4$

令$|s|$表示字符串$s$的长度,有$1 \le |s| \le 10^6$

题目保证所有询问的$|s|$不超过$10^6$。