#include <bits/stdc++.h>
using namespace std;
int z[5000];
int x[5000];
int main() {
  int p, q, l, r;
  cin >> p >> q >> l >> r;
  memset(z, 0, sizeof z);
  memset(x, 0, sizeof x);
  for (int i = 0; i < p; i++) {
    int a, b;
    cin >> a >> b;
    for (int j = a; j <= b; j++) {
      z[j + 1000] = 1;
    }
  }
  for (int i = 0; i < q; i++) {
    int a, b;
    cin >> a >> b;
    for (int j = a; j <= b; j++) {
      x[j + 1000] = 1;
    }
  }
  int ans = 0;
  for (int i = l; i <= r; i++) {
    for (int j = 0; j <= 1000; j++) {
      if (x[j + 1000 - i] && z[j + 1000]) {
        ans++;
        break;
      }
    }
  }
  cout << ans << endl;
}
