#include <iostream>
#include <algorithm>
using namespace std;
#define h 131071
int data[262144][2];//値//番号
int ti[100002];
int last,now,top=1;

void update(int n){
	if(data[n*2][0]>=data[n*2+1][0]){
		data[n][0]=data[n*2][0];
		data[n][1]=data[n*2][1];
	}
	else{
		data[n][0]=data[n*2+1][0];
		data[n][1]=data[n*2+1][1];
	}
	
	if(n==1){
		ti[top]+=(now-last);
		top=data[1][1];
		last=now;
		return;
	}
	update(n/2);
}

int main(){
	
	int n,r,l;
	cin>>n>>r>>l;
	for(int i=1;i<=n;i++){
		data[h+i][1]=i;
	}
	for(int i=0;i<r;i++){
		int d,x;
		cin>>d>>now>>x;
		data[h+d][0]+=x;
		update((h+d)/2);
	}
	now=l;
	update(1);
	int sum=0,ans=0;
	for(int i=1;i<=n;i++){
		
		if(ti[i]>sum){
			sum=ti[i];
			ans=i;
		}
	}
	cout<<ans<<endl;
	return 0;
}
