#include <bits/stdc++.h>
using namespace std;
int a[105], b[105];
int main() {
  memset(a, 0, sizeof(a));
  memset(b, 0, sizeof(b));
  int n, k, i;
  int flag = 0;
  scanf("%d%d", &n, &k);
  for (i = 0; i < n; i++) scanf("%d", &a[i]);
  for (i = 0; i < k; i++) scanf("%d", &b[i]);
  if (k >= 2) {
    printf("Yes\n");
  } else {
    for (i = 0; i < n; i++) {
      if (a[i] == 0) continue;
      if (a[i] < a[i - 1]) {
        flag = 1;
        break;
      }
    }
    if (flag)
      printf("Yes\n");
    else {
      int ans;
      for (i = 0; i < n; i++) {
        if (a[i] == 0) ans = i;
      }
      if (ans == 0) {
        if (b[0] < a[ans + 1])
          printf("No\n");
        else
          printf("Yes\n");
      } else if (ans == n - 1) {
        if (b[0] > a[ans - 1])
          printf("No\n");
        else
          printf("Yes\n");
      } else {
        if (a[ans - 1] < b[0] && b[0] < a[ans + 1]) {
          printf("No\n");
        } else
          printf("Yes\n");
      }
    }
  }
}
