#include <bits/stdc++.h>
using namespace std;
template <class T>
using v2d = vector<vector<T> >;
template <class T>
bool uin(T &a, T b) {
  return a > b ? (a = b, true) : false;
}
template <class T>
bool uax(T &a, T b) {
  return a < b ? (a = b, true) : false;
}
mt19937 rng(chrono::system_clock::now().time_since_epoch().count());
const int maxN = 2e5 + 10;
const int inf = 1e9;
int n, k[3], idx[3], g[maxN], f[maxN * 4], lazy[maxN * 4], L, R, val;
vector<int> a[3];
void down(int x) {
  int t = lazy[x];
  if (t != 0) {
    lazy[x] = 0;
    lazy[x * 2] += t;
    lazy[x * 2 + 1] += t;
    f[x * 2] += t;
    f[x * 2 + 1] += t;
  }
}
void update(int x, int lo, int hi) {
  if (lo > R || hi < L) {
    return;
  }
  if (lo >= L && hi <= R) {
    f[x] += val;
    lazy[x] += val;
    return;
  }
  down(x);
  int mid = (lo + hi) / 2;
  update(x * 2, lo, mid);
  update(x * 2 + 1, mid + 1, hi);
  f[x] = min(f[x * 2], f[x * 2 + 1]);
}
int query(int x, int lo, int hi) {
  if (lo > R || hi < L) {
    return inf;
  }
  if (lo >= L && hi <= R) {
    return f[x];
  }
  down(x);
  int mid = (lo + hi) / 2;
  return min(query(x * 2, lo, mid), query(x * 2 + 1, mid + 1, hi));
}
void solve() {
  for (int i = 0; i < (int)(3); ++i) {
    cin >> k[i];
    a[i].resize(k[i]);
  }
  for (int i = 0; i < (int)(3); ++i) {
    for (int j = 0; j < (int)(k[i]); ++j) {
      cin >> a[i][j];
    }
  }
  n = k[0] + k[1] + k[2];
  for (int i = 0; i < (int)(3); ++i) {
    sort((a[i]).begin(), (a[i]).end());
  }
  g[0] = 0;
  for (int i = 1; i <= (int)(n); ++i) {
    while (idx[0] < k[0] && a[0][idx[0]] <= i) {
      L = a[0][idx[0]], R = n, val = -1;
      update(1, 0, n);
      idx[0]++;
    }
    while (idx[1] < k[1] && a[1][idx[1]] <= i) {
      L = a[1][idx[1]], R = n, val = 1;
      update(1, 0, n);
      idx[1]++;
    }
    L = 0, R = i;
    g[i] = idx[0] + query(1, 0, n);
  }
  int ans = n, cnt = 0;
  fill(idx, idx + 3, 0);
  for (int i = 0; i < (int)(3); ++i) {
    reverse((a[i]).begin(), (a[i]).end());
  }
  for (int i = n; i >= 0; i--) {
    while (idx[2] < k[2] && a[2][idx[2]] > i) {
      cnt--;
      idx[2]++;
    }
    while (idx[0] < k[0] && a[0][idx[0]] > i) {
      cnt++;
      idx[0]++;
    }
    while (idx[1] < k[1] && a[1][idx[1]] > i) {
      cnt++;
      idx[1]++;
    }
    uin(ans, k[2] + cnt + g[i]);
  }
  cout << ans;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  int T = 1;
  while (T--) {
    solve();
  }
  return 0;
}
