#include <iostream>
using namespace std;
int main() {
int t;
cin >> t; // 读取测试用例的数量
// 循环处理每个测试用例
while (t--) {
int n, s, m;
cin >> n >> s >> m; // 读取n(任务数)、s(洗澡时间)、m(一天的总时间)
int start, end;
int End = 0; // 初始化上一个任务的结束时间为0,表示一天的开始
bool canShower = false; // 初始化布尔变量,用于判断是否有足够的时间洗澡
// 处理每个任务的时间段
for (int i = 0; i < n; ++i) {
cin >> start >> end; // 读取当前任务的开始时间和结束时间
// 检查当前任务开始时间与上一个任务结束时间之间是否有足够的空闲时间洗澡
if (start - End >= s) {
canShower = true; // 如果有足够时间,将canShower设置为true
}
End = end; // 更新上一个任务的结束时间为当前任务的结束时间
}
// 检查最后一个任务结束到一天结束之间是否有足够的空闲时间洗澡
//不要遗漏