#include <stdio.h>
#include <stdlib.h>

#define MAX_SIZE 1000

void solve(int E, int M, int P);

int main() {
    int E, M, P;

    while (1) {
        scanf("%d", &E);
        if (E == 0)
            break;

        scanf("%d %d", &M, &P);
        solve(E, M, P);
    }

    return 0;
}

void solve(int E, int M, int P) {
    int qr[MAX_SIZE][MAX_SIZE] = {0};
    int n_qr[MAX_SIZE][MAX_SIZE] = {0};
    int qnt = 0;

    for (int i = 0; i < M; i++) {
        int i1, i2;
        scanf("%d %d", &i1, &i2);
        qr[i1 < i2 ? i1 : i2][i1 < i2 ? i2 : i1] = 1;
        qnt++;
    }

    for (int i = 0; i < P; i++) {
        int i1, i2;
        scanf("%d %d", &i1, &i2);
        n_qr[i1 < i2 ? i1 : i2][i1 < i2 ? i2 : i1] = 1;
    }

    for (int i = 0; i < E / 3; i++) {
        int st[3];
        for (int j = 0; j < 3; j++) {
            scanf("%d", &st[j]);
        }

        for (int k = 0; k < 3; k++) {
            for (int j = k + 1; j < 3; j++) {
                if (qr[st[k] < st[j] ? st[k] : st[j]][st[k] < st[j] ? st[j] : st[k]]) {
                    qnt--;
                } else if (n_qr[st[k] < st[j] ? st[k] : st[j]][st[k] < st[j] ? st[j] : st[k]]) {
                    qnt++;
                }
            }
        }
    }

    printf("%d\n", qnt);
}