#include <bits/stdc++.h>
int cmpfnc(const void *a, const void *b) {
  if (*(int *)a == *(int *)b)
    return 0;
  else
    return *(int *)b - *(int *)a;
}
int main() {
  int n, k;
  scanf(" %d%d", &n, &k);
  int i, j = 0, jk, a[n], b[k], min = 0;
  for (i = 0; i < n; i++) {
    scanf(" %d", &a[i]);
    if (a[i] == 0) jk = i;
  }
  for (i = 0; i < k; i++) scanf(" %d", &b[i]);
  if (k == 1) {
    a[jk] = b[0];
    for (i = 0; i < n; i++) {
      if (a[i] <= min) {
        j++;
        break;
      }
      min = a[i];
    }
    j > 0 ? printf("Yes") : printf("No");
  } else
    puts("Yes");
  return 0;
}
