#include #include int f[1005]; long long a[105]; int main(){ long long upper = 100; int n,k; scanf("%d%d",&n,&k); for(int i = 1; i <= k; i++) scanf("%lld",&a[i]); std::sort(a+1,a+1+k); int find = 0; for(int i = 1; i <= k; i++){ if(a[i]<=upper) f[a[i]] = 1; for(int j = i+1; j <= k; j++){ long long u = a[i], v = a[j]; long long diff = v-u; if(diff==1 || diff==3 || diff==5){ if(u>=upper) find = 1; } } } if(find) printf("No\n"); else{ for(int i = upper; i >= 1; i--){ if(f[i]) continue; for(int x = 1; x <= 3; x++){ int y = 7-x; if(i+x<=upper && i+y<=upper && f[i+x] && f[i+y]) f[i] = 1; } //printf("f[%d] = %d\n",i,f[i]); } if(f[1]) printf("No\n"); else printf("Yes\n"); } return 0; } /* 1 11111111111011010011 3 11111111111101101001 5 11111101101001100001 */