line = input()
if not line:
n = 0
else:
n = int(line.strip())
x = {}
y = {}
z = set()
for _ in range(n):
line = input()
if not line:
break
parts = list(map(int, line.split()))
if len(parts) < 3:
break
a, b, c = parts[0], parts[1], parts[2]
if a not in x:
x[a] = []
x[a].append((b, c))
if b not in y:
y[b] = 0
y[b] += 1
if a not in y:
y[a] = 0
z.add(a)
z.add(b)
q = []
m = {}
for i in z:
if i not in y or y[i] == 0:
q.append(i)
m[i] = (0, 1)
cnt = 0
ans_a = 0
ans_b = 0
while len(q) > 0:
u = q.pop(0)
cnt += 1
if u in m:
ca, cb = m[u]
else:
ca, cb = 0, 0
if ca > ans_a:
ans_a = ca
ans_b = cb
elif ca == ans_a:
if cb > ans_b:
ans_b = cb
if u in x:
for v, w in x[u]:
na = ca + w
nb = cb + 1
if v not in m:
m[v] = (na, nb)
else:
oa, ob = m[v]
if na > oa:
m[v] = (na, nb)
elif na == oa and nb > ob:
m[v] = (na, nb)
y[v] -= 1
if y[v] == 0:
q.append(v)
if cnt < len(z):
print("-1")
else:
print(str(ans_a) + " " + str(ans_b))