#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
using namespace std;
int s[14] , h[14] , d[14] , c[14] , t;
int main()
{
cin >> t;
while(t--)
{
for(int i = 1; i <= 4; i++)
{
memset(s , 0 , sizeof s);
memset(h , 0 , sizeof h);
memset(d , 0 , sizeof d);
memset(c , 0 , sizeof c);
int n;
cin >> n;
for(int i = 1; i <= n; i++)
{
string a;
cin >> a;
if(a[0] == 'S')
{
if(a.length() == 2) s[a[1] - '0'] = 1;
else s[(a[1] - '0') * 10 + a[2] - '0'] = 1;
}
else if(a[0] == 'H')
{
if(a.length() == 2) h[a[1] - '0'] = 1;
else h[(a[1] - '0') * 10 + a[2] - '0'] = 1;
}
else if(a[0] == 'D')
{
if(a.length() == 2) d[a[1] - '0'] = 1;
else d[(a[1] - '0') * 10 + a[2] - '0'] = 1;
}
else
{
if(a.length() == 2) c[a[1] - '0'] = 1;
else c[(a[1] - '0') * 10 + a[2] - '0'] = 1;
}
}
int f1 = 0 , f2 = 0 , f3 = 0;
if(c[10]) f3 = 1;
for(int i = 1; i <= n; i++)
{
if(h[i] == 1) f1 = 1;
else f2 = 1;
}
if(f1 && !f2)
{
if(f3)
{
if(s[12] == 1 && d[11] == 1) {cout << "+1000 ";continue;}
else {cout << "+400 ";continue;}
}
else
{
if(s[12] == 1 && d[11] == 1) {cout << "+500 ";continue;}
else {cout << "+200 ";continue;}
}
}
else if(f1 && f2)
{
int sc = 0;
for(int i = 1; i <= n; i++)
{
if(h[i] == 1 && i == 1) sc -= 50;
else if(h[i] == 1 && i >= 2 && i <= 10) sc -= i;
else if(h[i] == 1 && i > 10) sc += -((i - 9) * 10);
}
if(s[12] == 1) sc -= 100;
if(d[11] == 1) sc += 100;
if(f3) cout << sc * 2 << " ";
else cout << sc << " ";
}
else
{
if(f3) cout << "+50";
cout << 0 << " ";
}
}
cout << endl;
}
return 0;
}
实在看不出错误啦