import collections N,K = map(int, input().split()) LR = [list(map(int, input().split())) for _ in range(N)] D = collections.defaultdict(int) for l,r in LR: D[l*2]+=1 D[r*2-1]-=1 D = sorted(D.items()) mod = 998244353 eat = 0 dp = 1 for k,v in D: if k%2==0: for _ in range(v): dp = (dp*(K-eat))%mod eat+=1 else: eat+=v print((pow(K,N,mod)-dp)%mod)