n = int(input())

lists = [list(map(int, input().split()))[1:] for _ in range(n)]

occs = dict()
for idx, l in enumerate(lists):
    for x in l:
        if x not in occs:
            occs[x] = []
        occs[x].append(idx)

# print(occs)


def check(idxs, val):
    if len(idxs) < 2:
        return
    # print(f"check {idxs} for {val}")
    seen = dict()
    for idx in idxs:
        l = lists[idx]
        for x in l:
            if x != val:
                if x in seen:
                    oidx = seen[x]
                    print(val, x, oidx + 1, idx + 1)
                    exit(0)
                seen[x] = idx


t = int(n**0.5)

edges = dict()
for val, occ in occs.items():
    if len(occ) >= t:
        check(occ, val)
    else:
        for i1 in occ:
            for i2 in occ:
                if i1 >= i2:
                    continue
                key = (i1, i2)
                if key in edges:
                    existing_val = edges[key]
                    print(val, existing_val, i1 + 1, i2 + 1)
                    exit(0)
                edges[key] = val
print("impossible")
