import sys input=sys.stdin.readline def I(): return int(input()) def MI(): return map(int, input().split()) def LI(): return list(map(int, input().split())) def main(): mod=10**9+7 N,K=MI() A=LI() for i in range(K): A[i]-=1 new=[-1] for i in range(K): for j in range(i+1,K): a=abs(A[i] - A[j]) temp=-1 if a==1:# 3,4,新しくできたところより8つ以上下がるとx temp=min(A[i],A[j])-3 -8 elif a==3:# 2,5,新しくできたところより3つ以上下がるとx temp=min(A[i],A[j])-2 -3 elif a==5:# 1,6 新しくできたところより8つ以上下がるとx temp=min(A[i],A[j])-1 -8 new.append(temp) # 小さいところはきちんとやる必要あり M=100 aaa=[0]*(M+6) for a in A: if a>=M: break aaa[a]=1 for i in range(M,-1,-1): if aaa[i+1] and aaa[i+6]: aaa[i]=1 elif aaa[i+2] and aaa[i+5]: aaa[i]=2 elif aaa[i+3] and aaa[i+4]: aaa[i]=3 if aaa[0]: new.append(1) if max(new)>=1: print("No") else: print("Yes") main()