← Home
#include<bits/stdc++.h>
using namespace std;
int n,m,k;
pair<int,int>a[200005];
set<pair<int,int>>dp[15];
int main() {
	int t;
	scanf("%d",&t);
	while(t--) {
		scanf("%d%d%d",&n,&m,&k);
		for(int i=0; i<=k; i++) {
			dp[i].clear();
		}
		for(int i=1; i<=m; i++) {
			scanf("%d%d",&a[i].second,&a[i].first);
		}
		sort(a+1,a+1+m);
		dp[0].emplace(n+1,0);
		for(int i=m; i>=1; i--) {
			for(int j=k; j>=0; j--) {
				int mx=-1;
				while(!dp[j].empty()&&a[i].second<prev(dp[j].end())->first) {
					auto it=prev(dp[j].end());
					mx=max(mx,max(it->first-a[i].first-1,0)+it->second);
					dp[j+1].insert(*it),dp[j].erase(it);
				}
				if(mx>=0)dp[j].emplace(a[i].second,mx);
			}
		}
		int ans=0;
		for(pair<int,int>x:dp[k]) {
			ans=max(ans,x.first+x.second-1);
		}
		printf("%d\n",ans);
	}
	return 0;
}