def read_binary(s): return int(s, 2) def get_exponents(n): exponents = [] while n > 0: # Count trailing zeros b = 0 while (n & 1) == 0: b += 1 n >>= 1 exponents.append(b) # Now, n is odd: n = 2a + 1 a = (n - 1) // 2 n = a return exponents def compare_exponents(e1, e2): e1_sorted = sorted(e1, reverse=True) e2_sorted = sorted(e2, reverse=True) # Compare as if they are numbers in base infinity len1 = len(e1_sorted) len2 = len(e2_sorted) min_len = min(len1, len2) for i in range(min_len): a = e1_sorted[i] b = e2_sorted[i] if a < b: return -1 elif a > b: return 1 if len1 < len2: return -1 elif len1 > len2: return 1 else: return 0 def main(): import sys input = sys.stdin.read().split() if len(input) < 2: print("No") return N_bin, M_bin = input[0], input[1] N = read_binary(N_bin) M = read_binary(M_bin) exponents_N = get_exponents(N) exponents_M = get_exponents(M) cmp = compare_exponents(exponents_N, exponents_M) if cmp < 0: print("Yes") else: print("No") if __name__ == "__main__": main()