#include <bits/stdc++.h>
using namespace std;
const int MAX_STRING_LENGTH = 2e5;
struct _io {
  char buff[MAX_STRING_LENGTH];
  _io &operator>>(int &x) {
    scanf("%d", &x);
    return *this;
  }
  _io &operator>>(long long &x) {
    scanf("%lld", &x);
    return *this;
  }
  _io &operator>>(float &x) {
    scanf("%f", &x);
    return *this;
  }
  _io &operator>>(double &x) {
    scanf("%lf", &x);
    return *this;
  }
  _io &operator>>(long double &x) {
    scanf("%Lf", &x);
    return *this;
  }
  _io &operator>>(char &c) {
    do {
      scanf("%c", &c);
    } while (c == ' ' || c == '\n');
    return *this;
  }
  _io &operator>>(char *s) {
    scanf("%s", s);
    return *this;
  }
  _io &operator>>(string &s) {
    scanf("%s", buff);
    s = string(buff, strlen(buff));
    return *this;
  }
  _io &operator<<(const int x) {
    printf("%d", x);
    return *this;
  }
  _io &operator<<(const long long x) {
    printf("%lld", x);
    return *this;
  }
  _io &operator<<(const float x) {
    printf("%f", x);
    return *this;
  }
  _io &operator<<(const double &x) {
    printf("%lf", x);
    return *this;
  }
  _io &operator<<(const long double &x) {
    printf("%Lf", x);
    return *this;
  }
  _io operator<<(const char &c) {
    printf("%c", c);
    return *this;
  }
  _io &operator<<(const string &s) {
    printf("%s", s.c_str());
    return *this;
  }
  _io &operator<<(const char *s) {
    printf("%s", s);
    return *this;
  }
} io;
const int maxn = 1e5 + 10;
const long long MOD = 1e9 + 7;
const int MLOG = 20;
int s[maxn], mark[maxn];
char str[maxn];
int main() {
  int a, b, c;
  io >> a >> b >> c;
  int x, y, z;
  io >> x >> y >> z;
  int dx = a - x;
  int dy = b - y;
  int dz = c - z;
  if (dx == 0 && dy == 0 && dz == 0) {
    io << "Yes";
    return 0;
  }
  if (dx < 0 && dy < 0 && dz < 0) {
    io << "No";
    return 0;
  }
  int neg = 0;
  int pos = 0;
  if (dx < 0) {
    neg += abs(dx);
  } else {
    pos += (dx / 2) * 2;
  }
  if (dy < 0) {
    neg += abs(dy);
  } else {
    pos += (dy / 2) * 2;
  }
  if (dz < 0) {
    neg += abs(dz);
  } else {
    pos += (dz / 2) * 2;
  }
  if (pos / 2 >= neg) {
    io << "Yes";
  } else {
    io << "No";
  }
  return 0;
}
