#include <bits/stdc++.h>
using namespace std;
struct cir {
  double x, y, r, R;
} a, b;
double dis;
int check(cir a, cir b) {
  int t = 0;
  if (dis + a.R <= b.r || dis >= a.R + b.R || dis + b.R <= a.R) t += 1;
  if (dis + a.r <= b.r || dis >= a.r + b.R || dis + b.R <= a.r) t += 1;
  return t;
}
int main() {
  cin >> a.x >> a.y >> a.r >> a.R;
  cin >> b.x >> b.y >> b.r >> b.R;
  int ans = 0;
  dis = sqrt(pow((a.x - b.x), 2) + pow(a.y - b.y, 2));
  ans = check(a, b) + check(b, a);
  cout << ans << endl;
}
