/*
Author: Aminul Islam.
Email: iaminul237@gmail.com
Facebook: www.facebook.com/aminul.islam116
Department: mathematics
Institution: Shahjalal university of science and technology, Sylhet.
Bangladesh.
*/
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define sll signed long long
#define I() ( { int a ; read(a) ; a; } )
#define L() ( { ll a ; read(a) ; a; } )
#define D() ({double a; scanf("%lf", &a); a;})
#define UL() ( { ull a; read(a); a; } )
#define SL() ( { sll a; read(a); a; } )
///Printing Methods
#define print1(a) (printf("%I64d ", a))
#define print1ln(a) (printf("%I64d\n", a))
#define print2(a, b) (printf("%I64d %I64d ", a, b))
#define print2ln(a, b) (printf("%I64d %I64d\n", a, b))
#define print3ln(a, b, c) (printf("%I64d %I64d %I64d\n", a, b, c))
#define MAX 300005
template<class T>inline bool read(T &x){
int c=getchar();int sgn=1;
while(~c&&c<'0'||c>'9'){if(c=='-')sgn=-1;c=getchar();}
for(x=0;~c&&'0'<=c&&c<='9';c=getchar())x=x*10+c-'0';
x*=sgn; return ~c;
}
using namespace std;
int main(){
int testCase = I();
while(testCase--){
int n = I(); double requiredTime = 0.0; map<string, double> words;
while(n--){
string temp; cin >> temp;
if(words[temp] > 0.000000){
requiredTime += words[temp]/2.0;
//cout << words[temp] << " / 2.0 = " << words[temp]/2.000000 << endl;
}
else{
bool left;
for(int i = 0; i < temp.size(); i++){
if(i == 0){
requiredTime += 0.2;
if(temp[i] == 'd' || temp[i] == 'f') left = true;
else left = false;
}
else if(temp[i] == 'd' || temp[i] == 'f'){
if(left) requiredTime += 0.4;
else{
requiredTime += 0.2;
left = true;
}
}
else{
if(left){
requiredTime += 0.2;
left = false;
}
else requiredTime += 0.4;
}
}
words[temp] = requiredTime;
}
}
cout << (int)(requiredTime*10.0) << endl;
}
return 0;
}