n,m=map(int,input().split()) from collections import defaultdict M=10**5+10 d=[defaultdict(lambda:defaultdict(int)) for i in range(M)] for _ in range(n): l,r,x,y=map(int,input().split()) l=(l-y+x-1)//x*x+y r=(r-y)//x*x+y if l>r: continue d[x][y][l]+=1 d[x][y][r+x]-=1 ans=[0]*M for x in range(M): for y in d[x]: res=0 now=y while now