编程题
### 问题描述
小齐正在教她的奶牛们阅读,她给她们准备了一组 $N$ 个拼字板,通常是学龄前儿童使用的。每块板子的一面有一个单词和一个图像。例如,一面可能有单词 $cat$ 并附有一只猫的图片,另一面可能有单词 $dog$ 并附有一只狗的图片。当这些板子放在地上时,可以看到 $N$ 个单词。通过翻转一些板子,可以显示出不同的 $N$ 个单词。
为了帮助奶牛们拼字,小齐希望制作一些木块,每个木块上都凹印有字母表中的一个字母。她想要制作足够多的每个字母的木块,以便无论上面的板子呈现哪一面,奶牛们都能用这些木块拼出所有的 $N$ 个单词。例如,如果 $N=3$,并且单词 $box$、$cat$ 和 $car$ 正面朝上,奶牛们需要至少一个 $b$ 木块,一个 $o$ 木块,一个 $x$ 木块,两个 $c$ 木块,两个 $a$ 木块,一个 $t$ 木块和一个 $r$ 木块。
请帮助小齐确定每个字母所需的最小木块数量,以便无论板子的哪一面朝上,奶牛们都能拼出所有 $N$ 个单词。
### 输入格式
第 $1$ 行包含整数 $N$。
接下来的 $N$ 行,每行包含两个由空格分隔的单词,表示一块拼字板的两面。每个单词是最多包含 $10$ 个小写字母的字符串。
### 输出格式
请输出 $26$ 行。第一行应包含指定 $a$ 木块的数量,下一行应指定 $b$ 木块的数量,依此类推。
### 样例输入
```
3
fox box
dog cat
car bus
```
### 样例输出
```
2
2
2
1
0
1
1
0
0
0
0
0
0
0
2
0
0
1
1
1
1
0
0
1
0
0
```
### 评测数据规模
$1 \leq N \leq 100$。