n, m, k = map(int, input().split()) LR = [list(map(int, input().split())) for _ in range(m)] mod = 10**9 + 7 accumDP = [1 for _ in range(n + 1)] accumDP[0] = 0 for _ in range(k): DP = [0 for _ in range(n + 1)] for i in range(m): l, r = LR[i] res = accumDP[r] - accumDP[l - 1] res %= mod DP[l - 1] += res DP[l - 1] %= mod DP[r] -= res DP[r] %= mod for i in range(n): DP[i + 1] += DP[i] DP[i + 1] %= mod accumDP = [0 for _ in range(n + 1)] for i in range(n): accumDP[i + 1] = (accumDP[i] + DP[i]) % mod print(DP[n - 1])