1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import sys


input = sys.stdin.readline

############ ---- Input Functions ---- ############

def inp():
    return(int(input()))
def inlt():
    return(list(map(int,input().split())))
def insr():
    s = input()
    return(list(s[:len(s) - 1]))
def invr():
    return(map(int,input().split()))

def suma(lista):
    return(sum(int(x) for x in lista))

debug = False
 
n = inp()
ileWiazan = inp()
wiazania_zr = []
polaczone_z = [[] for i in range(n)]
for i in range(ileWiazan):
    wiaz = inlt()
    wiazania_zr.append(str(min(wiaz))+"-"+str(max(wiaz)))
    polaczone_z[wiaz[0]-1].append(wiaz[1])
    polaczone_z[wiaz[1]-1].append(wiaz[0])
    if debug : print(wiaz, polaczone_z)

if debug : print(polaczone_z)

ileWiazan_cel = inp()
wiazania_cel = []
for i in range(ileWiazan_cel):
    wiaz = inlt()
    wiazania_cel.append(str(min(wiaz))+"-"+str(max(wiaz)))

output = []


def polacz(a, b):
    wspolny = (set(polaczone_z[a-1]) & set(polaczone_z[b-1]))
    if debug : print(a, b, wspolny)
    if len(wspolny) > 0:
        wiazania_zr.append("-".join([str(a), str(b)]))
        polaczone_z[a - 1].append(b)
        polaczone_z[b - 1].append(a)
        output.append( " ".join(["+", str(a), str(b)]))
    else:
        polacz(a, set(polaczone_z[b-1]).pop())
        
if debug : 
    print("poczatek")
    print(wiazania_zr)
    print(wiazania_cel)

while len(set(wiazania_cel) - set(wiazania_zr)) > 0:
    wiazanie = (set(wiazania_cel) - set(wiazania_zr)).pop()
    if debug : print(wiazanie, "zostalo", len(set(wiazania_cel) - set(wiazania_zr)))
    a = int(wiazanie.split("-")[0])
    b = int(wiazanie.split("-")[1])
    polacz(a, b)
    polacz(a, b)
    if debug : print("zostalo", len(set(wiazania_cel) - set(wiazania_zr)), set(wiazania_cel) - set(wiazania_zr))
    


if debug : 
    print("polmetek")
    print(wiazania_zr)
    print(wiazania_cel)
for wiazanie in set(wiazania_zr) - set(wiazania_cel):
    if debug : print(wiazanie)
    a = int(wiazanie.split("-")[0])
    b = int(wiazanie.split("-")[1])
    output.append( " ".join(["-",str(a), str(b)]))

print(len(output))
for item in output:
    print(item)