编程题
### 问题描述
有一个长度为 $n$ 的数字字符串 $s$ ,下标从 $0$ 开始。
给定 $k$ 种交换操作,其中第 $i$ 种操作包含两个整数 $x_i, y_i$,执行第 $i$ 种操作之后,会导致 $s_{x_i}$ 与 $s_{y_i}$ 交换位置。
请问能否通过有限次的操作次数将 $s$ 变为一个不下降字符串,如果可以输出最少操作次数,反之输出 `-1`。
### 输入格式
第一行输入一个正整数 $n$,表示字符串 $s$ 的长度。
第二行输入一个长度为 $n$ 只由数字构成的字符串 $s$。
第三行输入一个整数 $k$,表示操作种类的数量。
接下来 $k$ 行,每行两个整数,其中第 $i$ 行表示第 $i$ 种操作的两个参数 $x_i, y_i$。
### 输出格式
一行一个整数,如果可以通过有限次操作将 $s$ 变为不下降字符串,则输出最小操作次数,反之输出 `-1`。
### 样例输入
```
5
10234
3
1 0
2 0
3 0
```
### 样例输出
```
1
```
### 数据范围
对于 $100$% 的数据,$1 \leq n \leq 10$,$1 \leq k \leq 50$,$0 \leq x_i, y_i < n$。