#include <bits/stdc++.h>
using namespace std;
long long CeilIndex(std::vector<long long>& v, long long l, long long r,
                    long long key) {
  while (r - l > 1) {
    long long m = l + (r - l) / 2;
    if (v[m] >= key)
      r = m;
    else
      l = m;
  }
  return r;
}
long long LongestIncreasingSubsequenceLength(std::vector<long long>& v) {
  if (v.size() == 0) return 0;
  std::vector<long long> tail(v.size(), 0);
  long long length = 1;
  tail[0] = v[0];
  for (size_t i = 1; i < v.size(); i++) {
    if (v[i] < tail[0])
      tail[0] = v[i];
    else if (v[i] > tail[length - 1])
      tail[length++] = v[i];
    else
      tail[CeilIndex(tail, -1, length - 1, v[i])] = v[i];
  }
  return length;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long k1, k2, k3;
  cin >> k1 >> k2 >> k3;
  long long arr[k1], arr1[k2], arr2[k3];
  for (long long i = 0; i < k1; i++) cin >> arr[i];
  for (long long i = 0; i < k2; i++) cin >> arr1[i];
  for (long long i = 0; i < k3; i++) cin >> arr2[i];
  sort(arr1, arr1 + k2);
  sort(arr2, arr2 + k3);
  sort(arr, arr + k1);
  long long n = k1 + k2 + k3;
  long long arr3[n];
  for (long long i = 0; i < n; i++) {
    if (i < k1)
      arr3[i] = arr[i];
    else if (i < k2 + k1)
      arr3[i] = arr1[i - k1];
    else
      arr3[i] = arr2[i - k1 - k2];
  }
  vector<long long> v;
  for (long long i = 0; i < n; i++) v.push_back(arr3[i]);
  long long ans = LongestIncreasingSubsequenceLength(v);
  cout << n - ans;
  return 0;
}
