#include <bits/stdc++.h>
using namespace std;
int n = 3, m;
int num[3];
int a[3][200010];
int fk[3][200010];
int sum[3][200010];
int f[800040];
void build(int, int, int);
int query(int, int, int, int, int);
int main() {
  int ans, cnm = 0;
  for (int i = 0; i < n; ++i) {
    scanf("%d", &num[i]);
    m += num[i];
  }
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < num[i]; ++j) {
      scanf("%d", &a[i][j]);
      fk[i][a[i][j]] = 1;
    }
  for (int i = 0; i <= n; ++i)
    for (int j = 1; j <= m; ++j) sum[i][j] = sum[i][j - 1] + fk[i][j];
  build(1, 1, m);
  ans = num[0] + num[1];
  for (int i = 1; i <= m; ++i)
    ans = min(ans, num[0] + sum[1][m] - sum[1][i] + sum[2][i]);
  for (int i = 1; i <= m; ++i) {
    if (fk[1][i]) ++cnm;
    ans = min(ans, cnm + sum[0][m] - sum[0][i] + query(1, 1, m, i, m));
  }
  printf("%d", ans);
  return 0;
}
void build(int cur, int l, int r) {
  int t, mid;
  if (l == r) {
    f[cur] = sum[1][m] - sum[1][l] + sum[2][l];
    return;
  }
  t = cur << 1;
  mid = (l + r) >> 1;
  build(t, l, mid);
  build(t + 1, mid + 1, r);
  f[cur] = min(f[t], f[t + 1]);
}
int query(int cur, int l, int r, int x, int y) {
  int t, mid;
  int retl, retr;
  if (x == l && y == r) return f[cur];
  t = cur << 1;
  mid = (l + r) >> 1;
  retl = retr = 100000000;
  if (x <= mid) retl = query(t, l, mid, x, min(y, mid));
  if (mid + 1 <= y) retr = query(t + 1, mid + 1, r, max(x, mid + 1), y);
  return min(retl, retr);
}
