编程题
### 问题描述
有两个长度为 $n$ 的数字字符串 $S, T$ ,下标从 $0$ 开始。
一共有 $k$ 个操作,操作只可能是以下两种类型:
- `1 x v` 表示将 $S_x$ 变为 $(S_x + v) \bmod 10$;
- `2 x y` 表示交换 $S_x$,$S_y$。
你可以挑选出任意个操作,以任意顺序执行,但是每个操作最多只能执行一次,如果可以将 $S$ 串变为 $T$ 串则输出 `Yes`,反之输出 `No`。
### 输入格式
第一行输入一个正整数 $n$,表示字符串 $S$ 和 $T$ 的长度。
第二行输入一个长度为 $n$ 只由数字构成的字符串 $S$。
第三行输入一个长度为 $n$ 只由数字构成的字符串 $T$。
第四行输入一个正整数 $k$,表示操作的数量。
接下来 $k$ 行,每行三个整数,其中第 $i$ 行表示第 $i$ 种操作的三个参数 $op_i, x_i, y_i$。
### 输出格式
一行一个字符串:
- 如果可以通过操作使得 $S$ 串与 $T$ 串相等,则输出 `Yes`。
- 反之输出 `No`。
### 样例输入
```
5
01012
10103
3
2 0 1
2 3 2
1 4 1
```
### 样例输出
```
Yes
```
### 数据范围
对于 $100$% 的数据,$1 \leq n \leq 10$,$1 \leq k \leq 7$,$1 \leq op_i \leq 2$,$0 \leq x_i, y_i < n$。