#include <bits/stdc++.h>
using namespace std;
const int MAXN = 110;
int N, M, C;
int A[MAXN], K[MAXN];
int cnt[MAXN];
int main() {
  scanf("%d %d", &N, &M);
  for (int i = 0; i < N; i++) {
    scanf("%d", &A[i]);
    A[i]--;
  }
  for (int i = 0; i < M; i++) {
    scanf("%d", &K[i]);
    C += K[i];
  }
  for (int i = 0; i + C <= N; i++) {
    memset((cnt), (0), sizeof(cnt));
    for (int j = i; j < i + C; j++) {
      cnt[A[j]]++;
    }
    if (equal(cnt, cnt + M, K)) {
      puts("YES");
      return 0;
    }
  }
  puts("NO");
}
