from heapq import * Q = [] N, K = map(int, input().split()) A = [i - 1 for i in list(map(int, input().split()))] pa = 10 ** 18 + 10 X = [1] * 6 j = K - 1 i = K - 1 while i >= 0: if Q: if -Q[0] == A[i]: a = -heappop(Q) i -= 1 elif -Q[0] > A[i]: a = -heappop(Q) else: a = A[i] i -= 1 else: a = A[i] i -= 1 while i + 1 < j and A[j] - A[i + 1] >= 6: j -= 1 if i + 1 < j: for j2 in range(i + 2,j + 1): b = A[j2] for k in range(5,0,-2): if b - a == k or X[(a + k) % 6] == 0: c = a - (7 - k) // 2 if c >= 0: if X[c % 6] == 1: X[a % 6] = 0 X[(a + k) % 6] = 0 X[c % 6] = 0 heappush(Q,-c) for l in range(1,6): if c - l>= 0 and X[(c-l) % 6] == 0: heappush(Q,-(c-l)) #print(a, k, b,c,X) #print(i,X,Q) while Q: a = -heappop(Q) for k in range(5, 0, -2): if X[(a + k) % 6] == 0: c = a - (7 - k) // 2 if c >= 0: if X[c % 6] == 1: X[a % 6] = 0 X[(a + k) % 6] = 0 if X[c % 6] == 1: X[c % 6] = 0 heappush(Q,-c) for l in range(1, 6): if c - l >= 0 and X[(c - l) % 6] == 0: heappush(Q, -(c - l)) #print(a, k, b, c, X) #print(X) if X[0] == 0: print("No") else: print("Yes")