C - String Transformation

Time Limit: 2 sec / Memory Limit: 1024 MB

### 問題文

0 回以上操作を行って、ST に一致させられるか判定してください。

### 制約

• 1 \leq |S| \leq 2 \times 10^5
• |S| = |T|
• S, T は英小文字のみからなる

### 入力

S
T


### 出力

ST に一致させられる場合は Yes、そうでない場合は No を出力せよ。

### 入力例 1

azzel
apple


### 出力例 1

Yes


• c_1 として e を、c_2 として l を選ぶと、azzelazzle になる
• c_1 として z を、c_2 として p を選ぶと、azzleapple になる

### 入力例 2

chokudai
redcoder


### 出力例 2

No


どのように操作を行っても chokudairedcoder にできません。

### 入力例 3

abcdefghijklmnopqrstuvwxyz
ibyhqfrekavclxjstdwgpzmonu


### 出力例 3

Yes


Score : 300 points

### Problem Statement

You are given strings S and T consisting of lowercase English letters.

You can perform the following operation on S any number of times:

Operation: Choose two distinct lowercase English letters c_1 and c_2, then replace every occurrence of c_1 with c_2, and every occurrence of c_2 with c_1.

Determine if S and T can be made equal by performing the operation zero or more times.

### Constraints

• 1 \leq |S| \leq 2 \times 10^5
• |S| = |T|
• S and T consists of lowercase English letters.

### Input

Input is given from Standard Input in the following format:

S
T


### Output

If S and T can be made equal, print Yes; otherwise, print No.

### Sample Input 1

azzel
apple


### Sample Output 1

Yes


azzel can be changed to apple, as follows:

• Choose e as c_1 and l as c_2. azzel becomes azzle.
• Choose z as c_1 and p as c_2. azzle becomes apple.

### Sample Input 2

chokudai
redcoder


### Sample Output 2

No


No sequences of operation can change chokudai to redcoder.

### Sample Input 3

abcdefghijklmnopqrstuvwxyz
ibyhqfrekavclxjstdwgpzmonu


### Sample Output 3

Yes