编程题
### 问题描述
农夫小齐有 $N$ 份礼物,标号为1到$N$,分别准备给他的 $N$ 头奶牛,它们的标号也是1到$N$。每头奶牛都有一个心仪的礼物顺序,这个顺序是1到$N$的一个排列,表示她更喜欢排在前面的礼物而不是排在后面的。
小齐有些懒,所以他只是简单地将第 $i$ 个礼物分配给第 $i$ 头奶牛。现在,奶牛们聚在一起商量,决定重新分配礼物,使得每头奶牛最终得到的礼物要么与她最初分到的一样,要么更受她喜爱。
但是,还有一个额外的限制:一个礼物只能重新分配给同类型的奶牛(每头奶牛要么是荷斯坦种,要么是格恩西种)。给定 Q 个长度为 N 的品种字符串($1 \leq Q \leq \min(10^5, 2N)$),对于每个字符串,计算与之一致的重新分配数量。
### 输入格式
第一行包含整数 $N$。
接下来的 $N$ 行,每行包含一头奶牛的礼物偏好列表。保证每行的数字是1到$N$的一个排列。
接下来一行包含整数 $Q$。
接下来的 $Q$ 行,每行包含一个品种字符串,长度为 $N$,仅包含字符 $G$ 和 $H$。每个品种字符串都不会重复。
### 输出格式
对于每个品种字符串,打印与之一致的重新分配数量,每个数字占一行。
### 样例输入
```
4
1 2 3 4
1 3 2 4
1 2 3 4
1 2 3 4
5
HHHH
HHGG
GHGH
HGGG
GHHG
```
### 样例输出
```
2
1
1
2
2
```
### 评测数据规模
$1 \leq N \leq 18$。