def main0(n,m,t,ab): # 愚直。ダブリング。O(n^2) g=[set() for _ in range(n)] for a,b in ab: a,b=a-1,b-1 g[a].add(b) ary=[[set()]*60 for _ in range(n)] # ary[v][k]:頂点vの2^k秒後にいる可能性のある頂点の集合 for v in range(n):ary[v][0]=g[v] for k in range(1,60): for v in range(n): tmp=set() for u in ary[v][k-1]: tmp|=ary[u][k-1] ary[v][k]=tmp now={0} for i in range(60): if t&(1<