f=->x,y{return[x,1,0]if y==0 g,a,b=f[y,x%y] [g,b,a-x/y*b]} a=$<.drop(1).map{|e|e.split.map &:to_i} p (r=a.reduce([0,1]){|(a,m),(b,n)|g,x,y=f[m,n] v=(b-=a)/g break if v*g!=b l=m/g*n [(a+v*x*m)%l,l]})?(r[0]==0?r[1]:r[0])%1000000007:-1