import heapq

MOD = 998244353

def main():
    import sys
    input = sys.stdin.read
    data = input().split()
    idx = 0
    N = int(data[idx])
    K = int(data[idx+1])
    idx += 2
    
    guests = []
    for _ in range(N):
        L = int(data[idx])
        R = int(data[idx+1])
        guests.append((L, R))
        idx += 2
    
    # Sort guests by L_i
    guests.sort()
    
    heap = []
    res = 1
    for L, R in guests:
        Li_10 = L * 10
        # Remove all guests where Rj_after <= Li_10
        while heap and heap[0] <= Li_10:
            heapq.heappop(heap)
        m = len(heap)
        if K - m <= 0:
            res = 0
            break
        res = (res * (K - m)) % MOD
        Rj_after = R * 10 - 1
        heapq.heappush(heap, Rj_after)
    
    total = pow(K, N, MOD)
    ans = (total - res) % MOD
    print(ans)

if __name__ == '__main__':
    main()