#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <algorithm>
#define M 10000
#define INF 100000000
using namespace std;
int p[M];
int find(int x) {return p[x] == x ? x : p[x] = find(p[x]); }
int main()
{
//freopen("in.in","r",stdin);
int cas,n;
scanf("%d",&cas);
while(cas--)
{
int cnt_y,cnt_n;
char str[1000];
cnt_y = cnt_n = 0;
scanf("%d",&n);
getchar();
for(int i = 0;i <= n;i++)
p[i] = i;
while(gets(str)){
if(strcmp(str,"") == 0) break;
char c;
int x,y,a,b;
sscanf(str,"%c%d%d",&c,&a,&b);
if(c == 'q'){
x = find(a); y = find(b);
if(x == y)
cnt_y++;
else
cnt_n++;
}
if(c == 'c'){
x = find(a); y = find(b);
if(x != y)
p[x] = y;
}
}
printf("%d,%d\n",cnt_y,cnt_n);
if(cas) puts("");
}
return 0;
}
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <algorithm>
#define M 10000
#define INF 100000000
using namespace std;
int p[M];
int find(int x) {return p[x] == x ? x : p[x] = find(p[x]); }
int main()
{
//freopen("in.in","r",stdin);
int cas,n;
scanf("%d",&cas);
while(cas--)
{
int cnt_y,cnt_n;
char str[1000];
cnt_y = cnt_n = 0;
scanf("%d",&n);
getchar();
for(int i = 0;i <= n;i++)
p[i] = i;
while(gets(str)){
if(strcmp(str,"") == 0) break;
char c;
int x,y,a,b;
sscanf(str,"%c%d%d",&c,&a,&b);
if(c == 'q'){
x = find(a); y = find(b);
if(x == y)
cnt_y++;
else
cnt_n++;
}
if(c == 'c'){
x = find(a); y = find(b);
if(x != y)
p[x] = y;
}
}
printf("%d,%d\n",cnt_y,cnt_n);
if(cas) puts("");
}
return 0;
}