# いもす N,M,K = map(int, input().split()) lsLR = [tuple(map(int,input().split())) for i in range(M)] mod = 10**9+7 dp = [0]*(N+2) dp[1] = 1 for i in range(K): imos = [0]*(N+2) for j in range(1,N+2): imos[j] = (imos[j-1]+dp[j])%mod dp = [0]*(N+2) for j in range(M): l,r = lsLR[j] cnt = (imos[r]-imos[l-1])%mod dp[l] += cnt dp[r+1] -= cnt for j in range(1,N+2): dp[j] = (dp[j-1]+dp[j])%mod print(dp[-2]%mod)