#include<stdio.h>
const int maxn = 100;
int f[maxn] = {0};
int get(int v) {
if(f[v] == v) {
return v;
} else {
f[v] = get(f[v]);
return f[v];
}
}
void merge(int x, int y) {
int tx, ty;
tx = get(x);
ty = get(y);
if(tx != ty) {
f[ty] = tx;
}
return;
}
int main() {
int i, x, y, sum=0;
// n is group size, m is merge time
int n = 12, m = 5;
for(i = 1; i <= n; i++) {
f[i] = i;
}
for(i = 1; i <= m; i++) {
scanf("%d%d", &x, &y);
merge(x,y);
}
for(i = 1; i <= n; i++) {
if(f[i] == i) {
sum++;
}
}
printf("%d\n",sum);
return 0;
}