import sys input = sys.stdin.readline from math import gcd,lcm from heapq import heappop,heappush LCM=1 for i in range(1,301): LCM=lcm(LCM,i) N,M=list(map(int,input().split())) E=[[] for i in range(N)] for i in range(M): x,y,a,b=list(map(int,input().split())) x-=1 y-=1 c=a*LCM//b E[x].append((y,c)) E[y].append((x,c)) DIS=[LCM<<100]*N DIS[0]=0 Q=[(0,0)] while Q: dis,ind=heappop(Q) if DIS[ind]!=dis: continue for to,c in E[ind]: if DIS[to]>dis+c: DIS[to]=dis+c heappush(Q,(DIS[to],to)) for i in range(1,N): x=DIS[i] y=LCM G=gcd(x,y) print(x//G,y//G)