#include <bits/stdc++.h>
using namespace std;
const long long INF = 1e9 + 7;
const int N = 3e5 + 10;
long long dp[N][2];
long long x[N][2];
int main() {
  long long n, k;
  scanf("%lld%lld", &n, &k);
  for (int i = 1; i <= n; i++) scanf("%lld", &x[i][0]);
  for (int i = 1; i <= n; i++) scanf("%lld", &x[i][1]);
  dp[0][0] = dp[0][1] = 0;
  for (int i = 1; i <= n; i++) {
    dp[i][0] = dp[i][1] = INF;
    for (int o = 0; o < 2; o++) {
      if (dp[i - 1][o] <= k) {
        int tot = x[i][o] + dp[i - 1][o];
        int maxpos = x[i][o];
        int lowpos = tot / k;
        if (tot % k == 0) lowpos--;
        if (maxpos * k >= x[i][o ^ 1] && x[i][o ^ 1] >= lowpos) {
          if (x[i][o ^ 1] == lowpos) {
            dp[i][o] = min(dp[i][o], tot % k == 0 ? k : tot % k);
          } else {
            dp[i][o] = 1;
          }
        }
      }
    }
    for (int o = 0; o < 2; o++) {
      if (dp[i - 1][o] > k) continue;
      int tot = dp[i - 1][o] + x[i][o];
      int maxpos = x[i][o] + 1;
      int lowpos = tot / k;
      if (tot % k) lowpos++;
      if (maxpos * k >= x[i][o ^ 1] && x[i][o ^ 1] >= lowpos) {
        dp[i][o ^ 1] = min(dp[i][o ^ 1], max(1LL, x[i][o ^ 1] / maxpos));
      }
    }
    for (int o = 0; o < 2; o++) {
      if (dp[i - 1][o] > k) continue;
      int tot = x[i][o ^ 1];
      int maxpos = tot;
      int lowpos = tot / k;
      if (tot % k) lowpos++;
      if (maxpos * k >= x[i][o] && x[i][o] >= lowpos) {
        dp[i][o] = min(dp[i][o], max(1LL, x[i][o] / maxpos));
      }
    }
    for (int o = 0; o < 2; o++) {
      if (dp[i - 1][o] > k) continue;
      if (x[i][o ^ 1] == 1) continue;
      int tot = x[i][o ^ 1];
      int maxpos = tot - 1;
      int lowpos = tot / k;
      if (tot % k == 0) lowpos--;
      if (maxpos * k >= x[i][o] && x[i][o] >= lowpos) {
        if (x[i][o] == lowpos) {
          dp[i][o ^ 1] = min(dp[i][o ^ 1], tot % k == 0 ? k : tot % k);
        } else {
          dp[i][o ^ 1] = 1;
        }
      }
    }
    if (dp[i][0] == INF && dp[i][1] == INF) {
      puts("NO");
      return 0;
    }
  }
  puts("YES");
  return 0;
}
