你运营的网站有 N 个用户。 第 i 个用户的当前用户名是 Si,它希望更改为 Ti。
S1、…、SN 互不相同,T1、…、TN 也互不相同。
通过适当更改用户名的顺序,判断是否可以按照希望的方式更改所有用户的用户名,以满足以下所有条件 :
- 每个人更改用户名;
- 每个用户只更改一次用户名;
- 在尝试更改用户名时不能更改为其他用户改名时正在使用的用户名;
一行一个整数 N
以下 N 行,每行两个字符串 Si 和 Ti
如果可以更改全部名字,输出 Yes,否则输出 No。
记 ∣Str∣ 为字符串 Str 的长度
b,想改成m;用户2的名字现在是m,想改成d。可以先将m改为d,再将b改为m。a,想改成b;用户2的名字现在是b,想改成c;用户3的名字现在是c,想改成a。无法通过排序使其更改名字。### 题目描述
你运营的网站有 $N$ 个用户。
第 $i$ 个用户的当前用户名是 $S_i$,它希望更改为 $T_i$。
$S_1$、$…$、$S_N$ 互不相同,$T_1$、$…$、$T_N$ 也互不相同。
通过适当更改用户名的顺序,判断是否可以按照希望的方式更改所有用户的用户名,以满足以下所有条件 :
>- 每个人更改用户名;
>- 每个用户只更改一次用户名;
>- 在尝试更改用户名时不能更改为其他用户改名时正在使用的用户名;
### 输入格式
一行一个整数 $N$
以下 $N$ 行,每行两个字符串 $S_i$ 和 $T_i$
### 输出格式
如果可以更改全部名字,输出 $Yes$,否则输出 $No$。
### 题目约束
记 $|Str|$ 为字符串 $Str$ 的长度
- $1 \le N \le 10^5$
- $1 \le S_i,T_i \le 8$
- $S_i \ne T_i$
- $S_i \ne S_j, T_i \ne T_j$
### 样例解释
1. 用户$1$的名字现在是`b`,想改成`m`;用户$2$的名字现在是`m`,想改成`d`。可以先将`m`改为`d`,再将`b`改为`m`。
2. 用户$1$的名字现在是`a`,想改成`b`;用户$2$的名字现在是`b`,想改成`c`;用户$3$的名字现在是`c`,想改成`a`。无法通过排序使其更改名字。