def main(): import sys p = sys.stdin.read().strip() if not p: print("No") return reversed_p = p[::-1] current_states = set() current_states.add((0, False, False)) # (carry, a_ended, b_ended) for i in range(len(reversed_p)): digit = int(reversed_p[i]) next_states = set() for (carry, a_end, b_end) in current_states: a_digits = [] if a_end: a_digits.append(0) else: a_digits.extend([6, 7]) a_digits.append(0) # option to end a now b_digits = [] if b_end: b_digits.append(0) else: b_digits.extend([6, 7]) b_digits.append(0) # option to end b now for a_d in a_digits: for b_d in b_digits: s = a_d + b_d + carry if s % 10 != digit: continue new_c = s // 10 new_a_end = a_end or (a_d == 0 and not a_end) new_b_end = b_end or (b_d == 0 and not b_end) next_states.add((new_c, new_a_end, new_b_end)) current_states = next_states if not current_states: break for (carry, a_end, b_end) in current_states: if carry == 0: print("Yes") return print("No") if __name__ == "__main__": main()