#include <bits/stdc++.h>
using namespace std;
const int M = 998244353;
const int maxn = 1e6 + 12;
pair<int, int> b[maxn];
int a[maxn], t[6], sum[maxn], n, m;
void add(int p) {
  int x = b[p].second;
  if (!sum[x]) m++;
  sum[x]++;
}
void sub(int p) {
  int x = b[p].second;
  sum[x]--;
  if (!sum[x]) m--;
}
int main() {
  for (int i = 0; i < 6; i++) cin >> t[i];
  cin >> n;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < 6; j++) b[i * 6 + j] = (pair<int, int>){a[i] - t[j], i};
  }
  sort(b, b + n * 6);
  int r = 0;
  int ans = 1e9 + 10;
  for (int i = 0; i < n * 6; i++) {
    while (m < n && r < n * 6) add(r), r++;
    if (m < n) break;
    ans = min(ans, b[r - 1].first - b[i].first);
    sub(i);
  }
  cout << ans << endl;
  return 0;
}
