#include<bits/stdc++.h>
using namespace std;
int t,n,x,s,b,w,gcd,flag,ans;
char y,jl;
long long xl[1000001],bw[1000001];
int main(){
cin>>t;
while(t--){
cin>>n;
xl[0]=x=y=b=w=ans=0;
for(int i=1;i<=n;i++){
cin>>x>>y;
if(i==1){
if(y=='B'){
s=1;
}
else{
s=0;
}
}
if(y==jl){
xl[xl[0]]+=x;
}
else{
jl=y;
xl[++xl[0]]=x;
bw[xl[0]]=s;
s=(s+1)%2;
}
}
for(int i=1;i<=xl[0];i++){
if(bw[i]){
b+=xl[i];
}
else{
w+=xl[i];
}
}
if(!b||!w){
cout<<xl[1]<<endl;
continue;
}
if(__gcd(b,w)==1){
cout<<1<<endl;
continue;
}
else{
gcd=__gcd(b,w);
b/=gcd;
w/=gcd;
flag=0;
for(int i=1;i<=xl[0];i++){
if(bw[i]){
if(xl[i]%b||xl[i+1]<xl[i]*(w*1.0/b)){
flag=1;
break;
}
else{
xl[i+1]-=xl[i]*(w*1.0/b);
if(!xl[i+1]){
i++;
}
}
}
else{
if(xl[i]%w||xl[i+1]<xl[i]*(b*1.0/w)){
flag=1;
break;
}
else{
xl[i+1]-=xl[i]*(b*1.0/w);
if(!xl[i+1]){
i++;
}
}
}
ans++;
}
if(flag){
cout<<1<<endl;
continue;
}
cout<<ans<<endl;
}
}
return 0;
}