n, m, k = map(int, input().split()) mod = 10**9+7 L = [[0, 0] for i in range(m)] for i in range(m): l, r = map(int, input().split()) L[i][0] = l-1 L[i][1] = r-1 dp = [[0]*n for _ in range(k+1)] dp[0][0] = 1 from itertools import accumulate for i in range(k): cum = [0] + dp[i] cum = list(accumulate(cum)) imos = [0]*(n+1) for j in range(m): l, r = L[j] imos[l] += cum[r+1]%mod- cum[l]%mod imos[r+1] -= cum[r+1]%mod - cum[l]%mod cum = list(accumulate(imos)) dp[i+1] = cum #print(dp) print(dp[k][n-1]%mod)