编程题
### 问题描述
小郑正在和朋友斗地主,现在抽完牌之后,需要对一副手牌进行排序,但是这幅手牌并不像平时的那样容易排序。
小郑只能交换相邻的两张牌,或者把其中一张牌放到最前面或者最后面。
问小郑需要的最少交换次数,能排序整副牌。
排序仅需要排序所有的花色即可,即把每种花色的牌都放到一起,并且使得同花色的区域中,手牌点数从小到大或从大到小。
### 输入格式
第一行输入一个整数 $n$,代表小郑的手牌数量。
第二行输入 $n$ 张从左到右的手牌,每张手牌以点数、花色的形式展示,其中花色由 $s,h,d,c$ 表示,分别代表黑桃,红心,方块和梅花。点数由 $2,3,4,5,6,7,8,9,T,J,Q,K,A$ 表示(越来越大),分别表示点数 $2,3,4,5,6,7,8,9,10,Jack,Queen,King,Ace$。
### 输出格式
输出整数,即最少交换次数。
### 样例输入 1
```text
4
2h 9h 3c Ah
```
### 样例输出 1
```text
1
```
### 样例输入 2
```text
4
Ah 3h 6h 9h
```
### 样例输出 2
```text
1
```
### 评测数据规模
对于所有评测数据,$1 \le n \le 52$。