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] break if(v=(b-=a)/g)*g!=b n*=m/g [(a+v*x*m)%n,n]})?r[r[0]==0?1:0]%1000000007:-1