#include <bits/stdc++.h>
using namespace std;
int read() {
  int xx = 0, ff = 1;
  char ch = getchar();
  while (ch > '9' || ch < '0') {
    if (ch == '-') ff = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    xx = xx * 10 + ch - '0';
    ch = getchar();
  }
  return xx * ff;
}
long long READ() {
  long long xx = 0, ff = 1;
  char ch = getchar();
  while (ch > '9' || ch < '0') {
    if (ch == '-') ff = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    xx = xx * 10 + ch - '0';
    ch = getchar();
  }
  return xx * ff;
}
char one() {
  char ch = getchar();
  while (ch == ' ' || ch == '\n') ch = getchar();
  return ch;
}
const int maxn = 200010;
int N, M, K, belong[maxn];
int f[maxn][3];
int main() {
  N = read(), M = read(), K = read();
  for (int i = 1; i <= N; i++) belong[read()] = 0;
  for (int i = 1; i <= M; i++) belong[read()] = 1;
  for (int i = 1; i <= K; i++) belong[read()] = 2;
  f[0][0] = f[1][0] = f[2][0] = 0;
  for (int i = 1; i <= N + M + K; i++) {
    f[i][0] = f[i - 1][0] + (belong[i] != 0);
    f[i][1] = min(f[i - 1][1], f[i - 1][0]) + (belong[i] != 1);
    f[i][2] =
        min(min(f[i - 1][2], f[i - 1][1]), f[i - 1][0]) + (belong[i] != 2);
  }
  printf("%d\n", min(min(f[N + M + K][0], f[N + M + K][1]), f[N + M + K][2]));
  return 0;
}
