#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int N, D, K;
cin >> N >> D >> K;
vector< vector<int> > nums(100002); // 二维向量,外层索引是帖子id
int a = 0, b = 0; // a是时间戳,b是帖子id
// 读取输入,按帖子id归类存储
for (int i = 0; i < N; i++)
{
cin >> a >> b; // a是时间戳,b是帖子id
nums[b].push_back(a); // 将时间戳存入对应id的桶中
}
// 遍历所有可能的帖子id(0-100001)
for (int i = 0; i < 100002; i++)
{
// 特殊情况:K == 1,只要有点赞就是热帖
if (K == 1 && nums[i].size() >= 1)
{
cout << i <<endl;
continue;
}
// 如果该帖子有点赞记录
if (nums[i].size() >= 1)
{
int out = 1; // 计数器,计算满足条件的点赞数
bool backnow = false; // 是否已经找到并输出的标志
// 遍历该帖子的所有点赞时间戳
for (int j = 0; j < nums[i].size(); j++)
{
// 与其他点赞时间戳进行比较
for (int m = 0; m < nums[i].size() && m != j; m++)
{
// 判断两个时间戳是否在时间间隔D内
if (abs(nums[i][j] - nums[i][m]) < D)
{
out++; // 满足条件,计数加1
if (out >= K) // 达到热帖标准
{
cout << i <<endl;
backnow = true;
break;
}
}
}
if (backnow)
{
break; // 已经输出,结束当前帖子的判断
}
}
}
}
return 0;
}