Data transfer#612

Data transfer

1 second
128 megabytes
Easy

Data is transmitted from the transmitter to the receiver through a communication channel as a sequence of bits. Due to the properties of the channel, distortions may be introduced during the transmission. Thus, the bit sequence received by the receiver may differ from the bit sequence sent by the transmitter. One possible distortion during transmission is the so-called transposition of neighboring bits. In such a distortion, and differ only at exactly two adjacent positions and i+1, with s_i = t_{i+1}, s_{i+1} = t_i, and for all j \ne i, j \ne i+1, s_j = t_j.

You are researching information transmission. Currently, you are working on a coding system for an important government communication channel. The code you are developing must be capable of correcting a single transposition of neighboring bits. To make the code as efficient as possible, you need to assess the reliability of this channel. The reliability is tested as follows: several bit sequences s_1, s_2, \ldots, s_n are transmitted through the channel, and the received sequences t_1, t_2, \ldots, t_n are recorded and compared with the sent ones. Based on how many sequences are received without distortion or with a single transposition, a conclusion is drawn about the channel's reliability.

Since the sequences used for transmission are rather long, manual comparison is very time-consuming. Therefore, you decided to write a program to perform this comparison.

Write a program that, for two given sequences and , determines whether can be obtained from by at most one transposition of neighboring characters.

Input

The first line contains the sequence , and the second line contains the sequence . Both sequences are non-empty, consist only of and , and have a length not exceeding 10^5.

Output

If can be obtained from in the described way, output YES; otherwise, output NO.

Examples

Example 1

Loading
Loading

Example 2

Loading
Loading

Example 3

Loading
Loading