编程题
### 问题描述
在一个神奇的幻想世界中,勇敢的冒险者小蓝正在探索一座古老的迷宫。这座迷宫隐藏着无数的宝藏和秘密,但也充满了危险。
小蓝来到了一个特殊的房间,房间里有一个神秘的魔法阵。这个魔法阵的秘密在于,它会根据房间内的字符串来释放出不同的魔法力量。然而,只有当房间内的字符串中包含至少 $3$ 个不同的字母时,魔法阵才会生效。
现在给你一个长度为 $n$ 的由小写字母组成的字符串 $s$,请你找出长度最短的子串,使得该子串包含至少 $3$ 种不同的字母。
### 输入格式
第一行输入一个正整数 $n$($1 \le n \le 10^4$),表示字符串的长度。
第二行包含一个长度为 $n$ 的字符串 $s$,字符串中仅包含小写字母。
### 输出格式
输出一行,如果存在满足条件的子串,则输出最少需要改变的字符个数;如果不存在,则输出 `-1`。
### 样例输入
```
4
abcc
```
### 样例输出
```
3
```