#include <bits/stdc++.h>
using namespace std;
bool cmp(pair<long long int, long long int> a,
         pair<long long int, long long int> b) {
  return a.first < b.first;
}
int main() {
  long long int a[6], i;
  for (i = 0; i < 6; i++) cin >> a[i];
  long long int n;
  cin >> n;
  vector<pair<long long int, long long int>> frets;
  set<long long int> notes;
  for (i = 0; i < n; i++) {
    long long int x;
    cin >> x;
    notes.insert(x);
    for (long long int j = 0; j < 6; j++) frets.push_back({x - a[j], x});
  }
  n = notes.size();
  sort(frets.begin(), frets.end(), cmp);
  unordered_map<long long int, long long int> seg;
  long long int j = 0, sptr = 0, sz = frets.size();
  long long int ans = frets[sz - 1].first - frets[0].first;
  for (i = 0; i < sz; i++) {
    seg[frets[i].second]++;
    if (seg.size() == n) {
      while (1) {
        if (seg[frets[j].second] == 1) break;
        seg[frets[j].second]--;
        j++;
      }
      ans = min(ans, frets[i].first - frets[j].first);
    }
  }
  cout << ans << "\n";
}
