CF282C XOR and OR
Description
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 Format
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 Format
Print "YES" if $ a $ can be transformed into $ b $ , otherwise print "NO". Please do not print the quotes.