http://codeforces.com/problemset/problem/116/D
/*30ms,0KB*/
#include<cstdio>
const int mx = 155;
char g[mx][mx];
int left[mx], right[mx];
int main()
{
int n, m, i, j, posy, dir;
int cnt = -1;
scanf("%d%d", &n, &m);
int maxn = 0;
for (i = 1; i <= n; ++i)
{
getchar();
for (j = 1; j <= m; ++j)
{
g[i][j] = getchar();
if (g[i][j] == 'W')
{
if (left[i] == 0) left[i] = j;
right[i] = j;
maxn = i;
}
}
}
posy = 1;
dir = 0; ///左
///一开始在n=0,posy=1处
for (i = 1; i <= maxn; ++i)
{
if (dir)///右
{
if (right[i] && right[i] > posy) cnt += right[i] - posy + right[i] - left[i] + 1;
else if (left[i] && left[i] < posy) cnt += posy - left[i] + 1;
else ++cnt;
if (left[i]) posy = left[i];
}
else///左
{
if (left[i] && left[i] < posy) cnt += posy - left[i] + right[i] - left[i] + 1;
else if (right[i] > posy) cnt += right[i] - posy + 1;
else ++cnt;
if (right[i]) posy = right[i];
}
dir=!dir;
}
if (cnt == -1) cnt = 0;
printf("%d\n", cnt);
return 0;
}