#include <bits/stdc++.h>
using namespace std;
long long MOD = 1000000007;
const int MX = 2e5 + 5;
const long long INF = 1e18;
const long double PI = 4 * atan((long double)1);
template <class T>
bool ckmin(T& a, const T& b) {
  return a > b ? a = b, 1 : 0;
}
template <class T>
bool ckmax(T& a, const T& b) {
  return a < b ? a = b, 1 : 0;
}
long long num, num1, num2, num3, num4;
long long test;
vector<long long> vec;
map<long long, long long> am;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  cin >> num1 >> num2 >> num3;
  long long x, y, z;
  cin >> x >> y >> z;
  long long dif1 = (num1 - x);
  long long dif2 = (num2 - y);
  long long dif3 = (num3 - z);
  long long lagbe = 0;
  if (dif1 < 0) {
    lagbe += (dif1 * -1);
  }
  if (dif2 < 0) {
    lagbe += (dif2 * -1);
  }
  if (dif3 < 0) {
    lagbe += (dif3 * -1);
  }
  long long ase = 0;
  if (dif1 > 0) {
    ase += (dif1 / 2);
  }
  if (dif2 > 0) {
    ase += (dif2 / 2);
  }
  if (dif3 > 0) {
    ase += (dif3 / 2);
  }
  if (ase >= lagbe) {
    cout << "Yes" << endl;
  } else {
    cout << "No" << endl;
  }
}
