#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> PII;
const int N = 510,M=N*N;
#define x first
#define y second
char g[N][N];
int n,m;
int dist[N][N];
bool st[N][N];
int bfs()
{
memset(st,0,sizeof st);
memset(dist,0x3f,sizeof dist);
deque<PII> q;
dist[0][0]=0;
q.push_back({0,0});
int dx[]={-1,-1,1,1},dy[]={-1,1,1,-1},di[]={-1,-1,0,0,},dj[]={-1,0,0,-1};
string ss="\\/\\/";
while(!q.empty())
{
auto t=q.front();
q.pop_front();
int x=t.x,y=t.y;
if(st[x][y])continue;
st[x][y]=true;
for(int i=0;i<4;i++)
{
int a=x+dx[i],b=y+dy[i];
if(a<0||b<0||a>n||b>m)continue;
int ca=x+di[i],cb=y+dj[i];
int d=dist[x][y]+int(g[ca][cb]!=ss[i]);
if(d<dist[a][b])
{
dist[a][b]=d;
if(g[ca][cb]!=ss[i])q.push_back({a,b});
else q.push_front({a,b});
}
}
}
return dist[n][m];
}
int main()
{
int t;
cin>>t;
while(t--)
{
cin>>n>>m;
for(int i=0;i<n;i++)cin>>g[i];
if(n+m&1)
puts("NO SOLUTION");
else
cout<<bfs()<<endl;
}
}