The Bitlandians are quite weird people. They do everything differently. They have a different alphabet so they have a different definition for a string.
A Bitlandish string is a string made only of characters "0" and "1".
BitHaval (the mayor of Bitland) loves to play with Bitlandish strings. He takes some Bitlandish string $*a*$, and applies several (possibly zero) operations to it. In one operation the mayor may take any two adjacent characters of a string, define one of them as $*x*$ and the other one as $*y*$. Then he calculates two values $*p*$ and $*q*$: $*p* = *x* *xor* *y*$, $*q* = *x* *or* *y*$. Then he replaces one of the two taken characters by $*p*$ and the other one by $*q*$.
The $*xor*$ operation means the bitwise excluding OR operation. The $*or*$ operation is the bitwise OR operation.
So for example one operation can transform string 11 to string 10 or to string 01. String 1 cannot be transformed into any other string.
You've got two Bitlandish strings $*a*$ and $*b*$. Your task is to check if it is possible for BitHaval to transform string $*a*$ to string $*b*$ in several (possibly zero) described operations.
Input
The first line contains Bitlandish string $*a*$, the second line contains Bitlandish string $*b*$. The strings can have different lengths.
It is guaranteed that the given strings only consist of characters "0" and "1". The strings are not empty, their length doesn't exceed $10^{6}$.
Output
Print "YES" if $*a*$ can be transformed into $*b*$, otherwise print "NO". Please do not print the quotes.
样例
11
10
YES
1
01
NO
000
101
NO
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。