#include <iostream>
#include <vector>
#include <unordered_set>
#include <unordered_map>
#include <algorithm>
int main() {
int N;
std::cin >> N;
std::vector<int> A(N), B(N), C(N);
std::unordered_map<int, std::vector<int>> posA, posB, posC;
for (int i = 0; i < N; ++i) {
std::cin >> A[i];
posA[A[i]].push_back(i);
}
for (int i = 0; i < N; ++i) {
std::cin >> B[i];
posB[B[i]].push_back(i);
}
for (int i = 0; i < N; ++i) {
std::cin >> C[i];
posC[C[i]].push_back(i);
}
std::unordered_set<int> kept_indices;
for (int i = 0; i < N; ++i) {
kept_indices.insert(i);
}
std::unordered_set<int> SA, SB, SC;
for (int i = 0; i < N; ++i) {
SA.insert(A[i]);
SB.insert(B[i]);
SC.insert(C[i]);
}
while (true) {
bool changed = false;
// Find mismatched events
std::unordered_set<int> to_remove_A, to_remove_B, to_remove_C;
for (int e : SA) {
if (SB.count(e) == 0 || SC.count(e) == 0) {
to_remove_A.insert(e);
}
}
for (int e : SB) {
if (SA.count(e) == 0 || SC.count(e) == 0) {
to_remove_B.insert(e);
}
}
for (int e : SC) {
if (SA.count(e) == 0 || SB.count(e) == 0) {
to_remove_C.insert(e);
}
}
if (to_remove_A.empty() && to_remove_B.empty() && to_remove_C.empty()) {
break;
}
// Remove indices
std::unordered_set<int> indices_to_remove;
for (int e : to_remove_A) {
for (int idx : posA[e]) {
indices_to_remove.insert(idx);
}
SA.erase(e);
}
for (int e : to_remove_B) {
for (int idx : posB[e]) {
indices_to_remove.insert(idx);
}
SB.erase(e);
}
for (int e : to_remove_C) {
for (int idx : posC[e]) {
indices_to_remove.insert(idx);
}
SC.erase(e);
}
for (int idx : indices_to_remove) {
if (kept_indices.erase(idx)) {
changed = true;
// Update SA, SB, SC if needed
int a = A[idx], b = B[idx], c = C[idx];
if (std::none_of(kept_indices.begin(), kept_indices.end(), [&](int i){ return A[i] == a; })) {
SA.erase(a);
}
if (std::none_of(kept_indices.begin(), kept_indices.end(), [&](int i){ return B[i] == b; })) {
SB.erase(b);
}
if (std::none_of(kept_indices.begin(), kept_indices.end(), [&](int i){ return C[i] == c; })) {
SC.erase(c);
}
}
}
if (!changed) {
break;
}
}
int deletions = N - kept_indices.size();
std::cout << deletions << std::endl;
return 0;
}