#include <bits/stdc++.h>
using namespace std;
string s[2];
long int ar[2][100005],u,d,n;
long int func (long int l)
{
long int r[100005];
for(long int i=0;i<n;i++)
{
if((s[0][i]=='*')&&(s[1][i]=='*'))
{
r[i]=3;
}
else if(s[0][i]=='*')
{
r[i]=1;
}
else if(s[1][i]=='*')
{
r[i]=2;
}
else
{
r[i]=0;
}
}
stack <long int> s;
//s.push(r[min(u,d)]);
for(long int i=0;i<n;i++)
{
if(r[i]!=0)
{
if(s.empty())
{
s.push(r[i]);
}
else
{
if((s.top()!=r[i])&&(s.top()!=3)&&(r[i]!=3)&&(s.size()<2))
{
s.push(r[i]);
}
else
{
while(!s.empty())
{
s.pop();
}
s.push(r[i]);
l++;
//cout<<" i="<<i<<" l="<<l<<endl;
}
}
}
}
return l;
}
int main() {
long int t,i,k,l;
cin>>t;
while(t--)
{ u=-1;d=-1;l=0;
for(i=0;i<n+1;i++)
{
ar[1][i]=0;
ar[0][i]=0;
}
cin>>n;
cin>>s[0];
cin>>s[1];
if(s[0][0]=='*')
ar[0][0]=1;
else
ar[0][0]=0;
if(s[1][0]=='*')
ar[1][0]=1;
else
ar[1][0]=0;
for(i=0;i<n;i++)
{
if((s[0][i]=='*')&&(u<0))
u=i;
if((s[1][i]=='*')&&(d<0))
d=i;
if(i>0)
{
if(s[0][i]=='*')
ar[0][i]=ar[0][i-1]+1;
else
ar[0][i]=ar[0][i-1];
if(s[1][i]=='*')
ar[1][i]=ar[1][i]+1;
else
ar[1][i]=ar[1][i];
}
}
if((u>-1)&&(d>-1))
{l=1;
cout<<func(l)<<endl;
}
else if ((u==-1)&&(d==-1))
{
cout<<0<<endl;
}
else
{
k=max(ar[0][n-1],ar[1][n-1]);
cout<<k-1<<endl;
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CsKgCsKgCnN0cmluZyBzWzJdOwpsb25nIGludCBhclsyXVsxMDAwMDVdLHUsZCxuOwpsb25nIGludCBmdW5jIChsb25nIGludCBsKQp7CiAgICBsb25nIGludCByWzEwMDAwNV07CsKgCsKgCmZvcihsb25nIGludCBpPTA7aTxuO2krKykKewogICAgaWYoKHNbMF1baV09PScqJykmJihzWzFdW2ldPT0nKicpKQogICAgewogICAgcltpXT0zOwogICAgfQogICAgZWxzZSBpZihzWzBdW2ldPT0nKicpCiAgICB7CiAgICByW2ldPTE7CiAgICB9CiAgICBlbHNlIGlmKHNbMV1baV09PScqJykKICAgIHsKICAgIHJbaV09MjsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgIHJbaV09MDsKICAgIH0KwqAKwqAKfQrCoApzdGFjayA8bG9uZyBpbnQ+IHM7Ci8vcy5wdXNoKHJbbWluKHUsZCldKTsKwqAKZm9yKGxvbmcgaW50IGk9MDtpPG47aSsrKQp7CiAgICBpZihyW2ldIT0wKQogICAgewogICAgICAgIGlmKHMuZW1wdHkoKSkKICAgICAgICB7CiAgICAgICAgICAgIHMucHVzaChyW2ldKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgaWYoKHMudG9wKCkhPXJbaV0pJiYocy50b3AoKSE9MykmJihyW2ldIT0zKSYmKHMuc2l6ZSgpPDIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzLnB1c2gocltpXSk7CsKgCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgIHdoaWxlKCFzLmVtcHR5KCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHMucG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcy5wdXNoKHJbaV0pOwogICAgICAgICAgICBsKys7CiAgICAgICAgICAgIC8vY291dDw8IiBpPSI8PGk8PCIgbD0iPDxsPDxlbmRsOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CnJldHVybiBsOwrCoAp9CsKgCmludCBtYWluKCkgewpsb25nIGludCB0LGksayxsOwrCoApjaW4+PnQ7CndoaWxlKHQtLSkKeyAgIHU9LTE7ZD0tMTtsPTA7CiAgIGZvcihpPTA7aTxuKzE7aSsrKQogICB7CiAgICAgICBhclsxXVtpXT0wOwogICAgICAgYXJbMF1baV09MDsKICAgfQogICBjaW4+Pm47CiAgIGNpbj4+c1swXTsKICAgY2luPj5zWzFdOwogICBpZihzWzBdWzBdPT0nKicpCiAgIGFyWzBdWzBdPTE7CiAgIGVsc2UKICAgYXJbMF1bMF09MDsKICAgaWYoc1sxXVswXT09JyonKQogICBhclsxXVswXT0xOwogICBlbHNlCiAgIGFyWzFdWzBdPTA7CsKgCiAgIGZvcihpPTA7aTxuO2krKykKICAgewogICAgICAgaWYoKHNbMF1baV09PScqJykmJih1PDApKQogICAgICAgICAgIHU9aTsKICAgICAgIGlmKChzWzFdW2ldPT0nKicpJiYoZDwwKSkKICAgICAgICAgICBkPWk7CiAgICAgIGlmKGk+MCkKICAgICAgewogICAgICAgICAgaWYoc1swXVtpXT09JyonKQogICAgICAgICAgICBhclswXVtpXT1hclswXVtpLTFdKzE7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgYXJbMF1baV09YXJbMF1baS0xXTsKwqAKICAgICAgIGlmKHNbMV1baV09PScqJykKICAgICAgICBhclsxXVtpXT1hclsxXVtpXSsxOwogICAgICAgIGVsc2UKICAgICAgICBhclsxXVtpXT1hclsxXVtpXTsKwqAKICAgICAgfQrCoAogICB9CiAgIGlmKCh1Pi0xKSYmKGQ+LTEpKQogICB7bD0xOwogICAgIGNvdXQ8PGZ1bmMobCk8PGVuZGw7CsKgCiAgIH0KICAgZWxzZSBpZiAoKHU9PS0xKSYmKGQ9PS0xKSkKICAgewogICAgICAgY291dDw8MDw8ZW5kbDsKICAgfQogIGVsc2UKICB7CiAgICAgIGs9bWF4KGFyWzBdW24tMV0sYXJbMV1bbi0xXSk7CiAgICAgIGNvdXQ8PGstMTw8ZW5kbDsKICB9CsKgCsKgCn0KcmV0dXJuIDA7Cn0=