template originalSource() = include cplib/tmpl/sheep_old import cplib/graph/graph import cplib/graph/dijkstra import cplib/math/fractions import cplib/math/bigint var N,M = ii() var G = initWeightedUnDirectedGraph(N,BigInt) var edges: seq[(int,int,int,int)] var l = 1.toBigInt() for _ in range(M): var u,v = ii()-1 var a,b = ii() l = lcm(l,b) edges.add((u,v,a,b)) for i in range(M): var (u,v,a,b) = edges[i] G.add_edge(u,v,a*l//b) var res = G.dijkstra(0,(0).toBigInt(),(INF).toBigInt()) for i in 1..= z.len: break\x0A if (f and (1 shl b)) == 0:\x0A s.add(z[i])\x0A inc i\x0A else:\x0A let d = ord(z[i])*256+ord(z[i+1])\x0A let n = ord(z[i+2])+3\x0A i += 3\x0A for j in 0..