#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int i, j, n;
  vector<long long int> a(6);
  for (i = 0; i < 6; i++) cin >> a[i];
  cin >> n;
  vector<long long int> b(n);
  for (i = 0; i < n; i++) cin >> b[i];
  vector<pair<long long int, long long int>> s;
  for (i = 0; i < 6; i++) {
    for (j = 0; j < n; j++) {
      s.push_back({b[j] - a[i], j});
    }
  }
  sort(s.begin(), s.end());
  long long int count = 0;
  vector<long long int> list(n + 1, -1);
  multiset<long long int> ans;
  long long int sum = 1e18;
  for (i = 0; i < s.size(); i++) {
    auto temp = s[i];
    if (list[temp.second] == -1) {
      list[temp.second] = temp.first;
      count++;
      ans.insert(temp.first);
    } else {
      ans.erase(ans.find(list[temp.second]));
      ans.insert(temp.first);
      list[temp.second] = temp.first;
    }
    if (count == n) {
      auto it = ans.end();
      it--;
      sum = min(sum, *(it) - *(ans.begin()));
    }
  }
  cout << sum << "\n";
  return 0;
}
