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
import math
n=int(input())
fz=[]
fm=[]
for i in range(n+1):
    fz.append((int)(0))
    fm.append((int)(1))
fz[1]=1;
for i in range(1,n+1):
    xl=input().split(" ")
    for j in range(1,(int)(xl[0])+1):
        y=(int)(xl[j])
        x1=(int)(fz[i])
        y1=(int)(fm[i])*(int)(xl[0])
        x2=(int)(fz[y])
        y2=(int)(fm[y])
        sth=math.lcm((int)(y1),(int)(y2))
        fm[y]=sth
        fz[y]=x1*(sth//y1)+x2*(sth//y2)
        sth=math.gcd(fz[y],fm[y])
        fz[y]//=sth
        fm[y]//=sth
ans=1
for i in range(1,n+1):
    ans=math.lcm(ans,fm[i])
print(ans)