#include <bits/stdc++.h>
#include <fstream>
using namespace std;
#define read(type) readInt<type>() // Fast read
#define ll long long
#define nL "\n"
#define pb push_back
#define mk make_pair
#define pii pair<int, int>
#define a first
#define b second
#define vi vector<int>
#define all(x) (x).begin(), (x).end()
#define umap unordered_map
#define uset unordered_set
#define MOD 1000000007
#define imax INT_MAX
#define imin INT_MIN
#define exp 1e9
#define sz(x) (int((x).size()))
void solve() {
int x; cin >> x;
map<string, vector<string>> same;
for(auto i = 0; i < x; i++) {
string o, p; cin >> o >> p;
if (same.find(o) == same.end()) {
same[o] = {p};
} else {same[o].pb(p);}
if (same.find(p) == same.end()) {
same[p] = {o};
} else {same[p].pb(o);}
}
int y; cin >> y;
map<string, vector<string>> no;
for(auto i = 0; i < y; i++) {
string o, p; cin >> o >> p;
if (no.find(o) == no.end()) {
no[o] = {p};
} else {no[o].pb(p);}
if (no.find(p) == no.end()) {
no[p] = {o};
} else {no[p].pb(o);}
}
int ans = 0;
int q; cin >> q;
while(q--) {
string z, v, b; cin >> z >> v >> b;
vector<string> ppl = {z, v, b};
for(auto i = 0; i < 3; i++) {
if (same.find(ppl[i]) != same.end()) {
for(auto j = 0; j < 3; j++) {
if (i == j) {continue;}
if (find(all(same[ppl[i]]), ppl[j]) == same[ppl[i]].end()) {
ans++;
remove(all(same[ppl[i]]), ppl[j]);
remove(all(same[ppl[j]]), ppl[i]);
}
}
}
}
for(auto i = 0; i < 3; i++) {
if (no.find(ppl[i]) != no.end()) {
for(auto j = 0; j < 3; j++) {
if (i==j) {continue;}
if (find(all(no[ppl[i]]), ppl[j]) != no[ppl[i]].end()) {
ans++;
remove(all(no[ppl[i]]), ppl[j]);
remove(all(no[ppl[j]]), ppl[i]);
}
}
}
}
}
cout << ans << endl;
}
int32_t main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
solve();
return 0;
}
ICAjaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KICAgICAgI2luY2x1ZGUgPGZzdHJlYW0+CiAgICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICAgICNkZWZpbmUgcmVhZCh0eXBlKSByZWFkSW50PHR5cGU+KCkgLy8gRmFzdCByZWFkCiAgICAgICNkZWZpbmUgbGwgbG9uZyBsb25nCiAgICAgICNkZWZpbmUgbkwgIlxuIgogICAgICAjZGVmaW5lIHBiIHB1c2hfYmFjawogICAgICAjZGVmaW5lIG1rIG1ha2VfcGFpcgogICAgICAjZGVmaW5lIHBpaSBwYWlyPGludCwgaW50PgogICAgICAjZGVmaW5lIGEgZmlyc3QKICAgICAgI2RlZmluZSBiIHNlY29uZAogICAgICAjZGVmaW5lIHZpIHZlY3RvcjxpbnQ+CiAgICAgICNkZWZpbmUgYWxsKHgpICh4KS5iZWdpbigpLCAoeCkuZW5kKCkKICAgICAgI2RlZmluZSB1bWFwIHVub3JkZXJlZF9tYXAKICAgICAgI2RlZmluZSB1c2V0IHVub3JkZXJlZF9zZXQKICAgICAgI2RlZmluZSBNT0QgMTAwMDAwMDAwNwogICAgICAjZGVmaW5lIGltYXggSU5UX01BWAogICAgICAjZGVmaW5lIGltaW4gSU5UX01JTgogICAgICAjZGVmaW5lIGV4cCAxZTkKICAgICAgI2RlZmluZSBzeih4KSAoaW50KCh4KS5zaXplKCkpKQogICAgICAKICAgICAgdm9pZCBzb2x2ZSgpIHsKICAgICAgICAgIGludCB4OyBjaW4gPj4geDsKICAgICAgICAgIG1hcDxzdHJpbmcsIHZlY3RvcjxzdHJpbmc+PiBzYW1lOwoKICAgICAgICAgIGZvcihhdXRvIGkgPSAwOyBpIDwgeDsgaSsrKSB7CiAgICAgICAgICAgIHN0cmluZyBvLCBwOyBjaW4gPj4gbyA+PiBwOwogICAgICAgICAgICBpZiAoc2FtZS5maW5kKG8pID09IHNhbWUuZW5kKCkpIHsKICAgICAgICAgICAgICBzYW1lW29dID0ge3B9OwogICAgICAgICAgICB9IGVsc2Uge3NhbWVbb10ucGIocCk7fQoKICAgICAgICAgICAgaWYgKHNhbWUuZmluZChwKSA9PSBzYW1lLmVuZCgpKSB7CiAgICAgICAgICAgICAgc2FtZVtwXSA9IHtvfTsKICAgICAgICAgICAgfSBlbHNlIHtzYW1lW3BdLnBiKG8pO30KICAgICAgICAgIH0KCiAgICAgICAgICBpbnQgeTsgY2luID4+IHk7CiAgICAgICAgICBtYXA8c3RyaW5nLCB2ZWN0b3I8c3RyaW5nPj4gbm87CgogICAgICAgICAgZm9yKGF1dG8gaSA9IDA7IGkgPCB5OyBpKyspIHsKICAgICAgICAgICAgc3RyaW5nIG8sIHA7IGNpbiA+PiBvID4+IHA7CiAgICAgICAgICAgIGlmIChuby5maW5kKG8pID09IG5vLmVuZCgpKSB7CiAgICAgICAgICAgICAgbm9bb10gPSB7cH07CiAgICAgICAgICAgIH0gZWxzZSB7bm9bb10ucGIocCk7fQoKICAgICAgICAgICAgaWYgKG5vLmZpbmQocCkgPT0gbm8uZW5kKCkpIHsKICAgICAgICAgICAgICBub1twXSA9IHtvfTsKICAgICAgICAgICAgfSBlbHNlIHtub1twXS5wYihvKTt9CiAgICAgICAgICB9CgogICAgICAgICAgaW50IGFucyA9IDA7CiAgICAgICAgICBpbnQgcTsgY2luID4+IHE7CiAgICAgICAgICB3aGlsZShxLS0pIHsKICAgICAgICAgICAgc3RyaW5nIHosIHYsIGI7IGNpbiA+PiB6ID4+IHYgPj4gYjsKICAgICAgICAgICAgdmVjdG9yPHN0cmluZz4gcHBsID0ge3osIHYsIGJ9OwoKICAgICAgICAgICAgZm9yKGF1dG8gaSA9IDA7IGkgPCAzOyBpKyspIHsKICAgICAgICAgICAgICBpZiAoc2FtZS5maW5kKHBwbFtpXSkgIT0gc2FtZS5lbmQoKSkgewogICAgICAgICAgICAgICAgZm9yKGF1dG8gaiA9IDA7IGogPCAzOyBqKyspIHsKICAgICAgICAgICAgICAgICAgaWYgKGkgPT0gaikge2NvbnRpbnVlO30KICAgICAgICAgICAgICAgICAgaWYgKGZpbmQoYWxsKHNhbWVbcHBsW2ldXSksIHBwbFtqXSkgPT0gc2FtZVtwcGxbaV1dLmVuZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgYW5zKys7CiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlKGFsbChzYW1lW3BwbFtpXV0pLCBwcGxbal0pOwogICAgICAgICAgICAgICAgICAgIHJlbW92ZShhbGwoc2FtZVtwcGxbal1dKSwgcHBsW2ldKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKCiAgICAgICAgICAgIGZvcihhdXRvIGkgPSAwOyBpIDwgMzsgaSsrKSB7CiAgICAgICAgICAgICAgaWYgKG5vLmZpbmQocHBsW2ldKSAhPSBuby5lbmQoKSkgewogICAgICAgICAgICAgICAgZm9yKGF1dG8gaiA9IDA7IGogPCAzOyBqKyspIHsKICAgICAgICAgICAgICAgICAgaWYgKGk9PWopIHtjb250aW51ZTt9CgogICAgICAgICAgICAgICAgICBpZiAoZmluZChhbGwobm9bcHBsW2ldXSksIHBwbFtqXSkgIT0gbm9bcHBsW2ldXS5lbmQoKSkgewogICAgICAgICAgICAgICAgICAgIGFucysrOwogICAgICAgICAgICAgICAgICAgIHJlbW92ZShhbGwobm9bcHBsW2ldXSksIHBwbFtqXSk7CiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlKGFsbChub1twcGxbal1dKSwgcHBsW2ldKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7CiAgICAgIH0KICAgICAgCiAgCiAgICAgIGludDMyX3QgbWFpbigpCiAgICAgIHsKICAgICAgICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgICAgICAgY2luLnRpZShOVUxMKTsKICAgICAgICAgIHNvbHZlKCk7CiAgICAgICAgICByZXR1cm4gMDsKICAgICAgfQ==