ZCC loves straight flush

Accepts: 167
Submissions: 726
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 131072/65536 K (Java/Others)
问题描述
在前往ZJOI2015一试的路上,ZCC在同Fsygd打德州扑克时输光了所有的筹码。不过ZCC最近学会了一些黑技术。现在,他能够在游戏过程中更换任何他想要更换的牌。ZCC想要通过更换尽量少的牌得到同花顺。

称五张牌构成了同花顺,当且仅当它们的数值连续,花色一致。请告诉ZCC他至少需要更换多少张牌。

在题目中,牌的花色用一个大写字母('A', 'B', 'C', 'D')来表示,而数值用数字('1', '2', $\cdots$, '13')来表示。

注意数字1代表ace,在德州扑克中是最大的牌。"1 2 3 4 5" 和 "10 11 12 13 1" 都被认为是连续的。而"11 12 13 1 2"并不是。
输入描述
第一行仅有一个整数T($T=1000$)代表数据组数。
对于每组数据,在一行中有五个字符串代表五张牌。数据保证所有的牌都是不同的。
输出描述
对于每组数据,输出在单独的一行中的一个整数代表答案。
输入样例
3
A1 A2 A3 A4 A5
A1 A2 A3 A4 C5
A9 A10 C11 C12 C13
输出样例
0
1
2