import numpy as np
def solve():
t = int(input().strip())
for _ in range(t):
n, m, total_time = map(int, input().split())
arr = input().split()
edges = []
for i in range(0, 3*m, 3):
u, v, p = int(arr[i]), int(arr[i+1]), float(arr[i+2])
edges.append((u, v, p))
steps = total_time // 10
tmat = np.zeros((n, n))
for u, v, p in edges:
tmat[u-1][v-1] = p
prob = np.zeros(n)
prob[0] = 1
for _ in range(steps):
prob = np.dot(prob, tmat)
print(np.argmax(prob) + 1)
print(np.round(np.max(prob),3))
solve()
aW1wb3J0IG51bXB5IGFzIG5wCgpkZWYgc29sdmUoKToKICAgIHQgPSBpbnQoaW5wdXQoKS5zdHJpcCgpKQogICAgZm9yIF8gaW4gcmFuZ2UodCk6CiAgICAgICAgbiwgbSwgdG90YWxfdGltZSA9IG1hcChpbnQsIGlucHV0KCkuc3BsaXQoKSkKICAgICAgICBhcnIgPSBpbnB1dCgpLnNwbGl0KCkKICAgICAgICBlZGdlcyA9IFtdCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgMyptLCAzKToKICAgICAgICAgICAgdSwgdiwgcCA9IGludChhcnJbaV0pLCBpbnQoYXJyW2krMV0pLCBmbG9hdChhcnJbaSsyXSkKICAgICAgICAgICAgZWRnZXMuYXBwZW5kKCh1LCB2LCBwKSkKICAgICAgICAKICAgICAgICBzdGVwcyA9IHRvdGFsX3RpbWUgLy8gMTAKICAgICAgICB0bWF0ID0gbnAuemVyb3MoKG4sIG4pKQogICAgICAgIGZvciB1LCB2LCBwIGluIGVkZ2VzOgogICAgICAgICAgICB0bWF0W3UtMV1bdi0xXSA9IHAKICAgICAgICAKICAgICAgICBwcm9iID0gbnAuemVyb3MobikKICAgICAgICBwcm9iWzBdID0gMQogICAgICAgIAogICAgICAgIGZvciBfIGluIHJhbmdlKHN0ZXBzKToKICAgICAgICAgICAgcHJvYiA9IG5wLmRvdChwcm9iLCB0bWF0KQogICAgICAgIAogICAgICAgIHByaW50KG5wLmFyZ21heChwcm9iKSArIDEpCiAgICAgICAgcHJpbnQobnAucm91bmQobnAubWF4KHByb2IpLDMpKQpzb2x2ZSgp
Mgo2IDEwIDQwIAoxIDIgMC4zIDEgMyAwLjcgMyAzIDAuMiAzIDQgMC44IDIgNCAxIDQgNSAwLjkgNCA0IDAuMSA1IDYgMS4wIDYgMyAwLjUgNiA2IDAuNQo2IDEwIDEwIAoxIDIgMC4zIDEgMyAwLjcgMyAzIDAuMiAzIDQgMC44IDIgNCAxIDQgNSAwLjkgNCA0IDAuMSA1IDYgMS4wIDYgMyAwLjUgNiA2IDAuNQ==
2
6 10 40
1 2 0.3 1 3 0.7 3 3 0.2 3 4 0.8 2 4 1 4 5 0.9 4 4 0.1 5 6 1.0 6 3 0.5 6 6 0.5
6 10 10
1 2 0.3 1 3 0.7 3 3 0.2 3 4 0.8 2 4 1 4 5 0.9 4 4 0.1 5 6 1.0 6 3 0.5 6 6 0.5