def f(n,x): q,r = divmod(max(x,0),n-1) return (2*r+2+(n-1)*(q-1))*q//2 def g(n,m,x): return f(n,x)-f(n,x-m-1) for _ in range(int(input())): n,m,l,r = map(int,input().split()) print((g(n,m,r)-g(n,m,l-1)+g(n,m,m-l)-g(n,m,m-r-1)+max(min(m,r)-l+1,0))%998244353)