#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
int a[6];
int x, y, z, vx, vy, vz, ans = 0;
bool lies(int x, int y) {
  if (0 <= x && x <= y)
    return 1;
  else if (0 >= x && x >= y)
    return 1;
  return 0;
}
void reflect(int a) {
  if (a < 0) {
    x *= -1;
    y *= -1;
    z *= -1;
    vx *= -1;
    vy *= -1;
    vz *= -1;
  }
}
int main() {
  cin >> vx >> vy >> vz;
  cin >> x >> y >> z;
  for (int i = 0; i < 6; i++) cin >> a[i];
  reflect(z);
  if (vz > z)
    ans += a[3];
  else if (vz == z) {
    if (lies(vy, y) && lies(vx, x)) ans += a[3];
  } else if (vz == 0) {
    if (lies(vy, y) && lies(vx, x)) ans += a[2];
  } else if (vz < 0) {
    ans += a[2];
  }
  reflect(y);
  if (vy > y)
    ans += a[1];
  else if (vy == y) {
    if (lies(vz, z) && lies(vx, x)) ans += a[1];
  } else if (vy == 0) {
    if (lies(vz, z) && lies(vx, x)) ans += a[0];
  } else if (vy < 0) {
    ans += a[0];
  }
  reflect(x);
  if (vx > x)
    ans += a[5];
  else if (vx == x) {
    if (lies(vz, z) && lies(vy, y)) ans += a[5];
  } else if (vy == 0) {
    if (lies(vz, z) && lies(vy, y)) ans += a[4];
  } else if (vx < 0) {
    ans += a[4];
  }
  cout << ans;
  return 0;
}
