#include<cstdio>
#include<queue>
using namespace std;
typedef pair<int,int> P;
int ten[100001],tt[100001];
priority_queue<P> qu;
int main(void)
{
	int n,r,l;

	P ppp;
	int t1,n1,i,j,nn;
	int d,t,x,max,maxi;

	scanf("%d %d %d",&n,&r,&l);
	for(i=1;i<=n;i++)	{
		ten[i]=0;
		tt[i]=0;
		qu.push(P(0,100000-i));
	}
	n1=1;
	t1=0;
	
	for(i=0;i<r;i++)	{
		scanf("%d %d %d",&d,&t,&x);
		tt[n1]+=t-t1;
		ten[d]+=x;
		qu.push(P(ten[d],100000-d));
		t1=t;
		while(1)	{
			ppp=qu.top();
			nn=100000-ppp.second;
			if(ten[nn]==ppp.first)	{
				n1=nn;
				break;
			}
			qu.pop();
		}
//		printf("n1=%d t1=%d\n",n1,t1);
	}
	tt[n1]+=l-t1;
	max=-1;
	for(i=1;i<=n;i++)	{
		if(tt[i]>max)	{
			max=tt[i];
			maxi=i;
		}
	}
	printf("%d\n",maxi);
	return 0;
}
