# Format:
#
#    	N1  (# good pairs)
#	X Y
#    	N2  (# bad pairs)
#	X Y
#    	N3  (# groups)
#	X Y Z

#
# Read in the good pairs

line = input()      	# Read a line
N1 = int(line)

GoodPair = []		# Initial good pairs
for i in range(N1):
    line = input()
    nextPair = [ x for x in line.split(" ") ]
    GoodPair.append( nextPair )

print( "GoodPair" )
print( GoodPair )

#
# Read in the bad pairs

line = input()      	# Read a line
N2 = int(line)

BadPair = []		# Initial bad pairs
for i in range(N2):
    line = input()
    nextPair = [ x for x in line.split(" ") ]
    BadPair.append( nextPair )

print( "BadPair" )
print( BadPair )

#
# Read in the groups (triplets)
#
# Storage:  Grp[0] = ['A', 'C', 'G'], Grp[1] = ['B', 'D', 'F'] ... 

line = input()          # Read a line
N3 = int(line)

Grp = []            # Initial bad pairs
for i in range(N3):
    line = input()
    nextPair = [ x for x in line.split(" ") ]
    Grp.append( nextPair )

print( "Grp" )
print( Grp )
print( "==========================================" )

#######################################
# Process data
#######################################

NViolations = 0

#
# Check for ***good*** pairing violations
#
for pair in GoodPair:
    # Find the group to which pair[0] belongs to
    for j in range( len(Grp) ):
        if ( pair[0] == Grp[j][0] or 
             pair[0] == Grp[j][1] or
             pair[0] == Grp[j][2]    ):
            g0 = j
            break

    # Find the group to which pair[1] belongs to
    for j in range( len(Grp) ):
        if ( pair[1] == Grp[j][0] or 
             pair[1] == Grp[j][1] or
             pair[1] == Grp[j][2]    ):
            g1 = j
            break

    # Check violation
    if (g0 != g1):
        NViolations += 1

    print( pair[0], ": grp = ", g0, ", ",
           pair[1], ": grp = ", g1, "--> violation: ",
           (g0 != g1) )


print( "==========================================" )

#
# Check for ***bad*** pairing violations
#
for pair in BadPair:
    # Find the group to which pair[0] belongs to
    for j in range( len(Grp) ):
        if ( pair[0] == Grp[j][0] or
             pair[0] == Grp[j][1] or
             pair[0] == Grp[j][2]    ):
            g0 = j
            break

    # Find the group to which pair[1] belongs to
    for j in range( len(Grp) ):
        if ( pair[1] == Grp[j][0] or
             pair[1] == Grp[j][1] or
             pair[1] == Grp[j][2]    ):
            g1 = j
            break

    # Check violation
    if (g0 == g1):
        NViolations += 1

    print( pair[0], ": grp = ", g0, ", ",
           pair[1], ": grp = ", g1, "--> violation: ",
           (g0 == g1) )

print( "==========================================" )

print("Answer: ", NViolations)

