//
// main.c
// NUMBERS
//
// Created by Dhruv Mullick on 24/11/13.
// Copyright (c) 2013 Dhruv Mullick. All rights reserved.
//
#include <stdio.h>
#include <string.h>
struct p
{
long long int A;
char name[6];
};
void sort(struct p player[],int ibegin,int iend, struct p temp[]);
void merge(struct p player[],int ibegin,int imid,int iend,struct p temp[]);
int main(void)
{
int n,i,c;
long long int t;
while(c--)
{
struct p player[n];
struct p temp[n];
for(i=0;i<n;i++)
{
scanf("%s", player
[i
].
name); scanf("%lld", &player
[i
].
A); }
sort(player,0,n,temp);
for(i=0;i<n;i++)
{
t=player[i].A;
while(i!=n && i!=(n+1) && player[i+1].A==t)
{
i=i+2;
}
if(i<n)
{
printf("%s\n",player
[i
].
name); break;
}
}
if(i>=n)
{
}
}
return 0;
}
void merge(struct p player[],int ibegin,int imid,int iend,struct p temp[])
{
int a0, a1,j;
j = ibegin;
a0 = ibegin;
a1 = imid;
while(j<=iend)
{
if(a0<imid && ((a1>iend) || (player[a0].A < player[a1].A)))
{
temp[j]= player[a0];
a0++;
j++;
}
else
{
temp[j] = player[a1];
a1++;
j++;
}
}
}
void sort(struct p player[],int ibegin,int iend,struct p temp[])
{
int i;
if((iend - ibegin)==1)
return;
int imid = (iend + ibegin)/2;
sort(player, ibegin, imid, temp);
sort(player, imid, iend, temp);
merge(player, ibegin, imid, iend, temp);
for(i=ibegin;i<=iend;i++)
{
player[i] = temp[i];
}
}
Ly8KLy8gIG1haW4uYwovLyAgTlVNQkVSUwovLwovLyAgQ3JlYXRlZCBieSBEaHJ1diBNdWxsaWNrIG9uIDI0LzExLzEzLgovLyAgQ29weXJpZ2h0IChjKSAyMDEzIERocnV2IE11bGxpY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vCgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKc3RydWN0IHAKewogICAgbG9uZyBsb25nIGludCBBOwogICAgY2hhciBuYW1lWzZdOwp9OwoKdm9pZCBzb3J0KHN0cnVjdCBwIHBsYXllcltdLGludCBpYmVnaW4saW50IGllbmQsIHN0cnVjdCBwIHRlbXBbXSk7CnZvaWQgbWVyZ2Uoc3RydWN0IHAgcGxheWVyW10saW50IGliZWdpbixpbnQgaW1pZCxpbnQgaWVuZCxzdHJ1Y3QgcCB0ZW1wW10pOwoKaW50IG1haW4odm9pZCkKewogICAgaW50IG4saSxjOwogICAgbG9uZyBsb25nIGludCB0OwogICAgc2NhbmYoIiVkIiwmYyk7CiAgICAKICAgIHdoaWxlKGMtLSkKICAgIHsKICAgICAgICBzY2FuZigiJWQiLCZuKTsKICAgICAgICAKICAgICAgICBzdHJ1Y3QgcCBwbGF5ZXJbbl07CiAgICAgICAgc3RydWN0IHAgdGVtcFtuXTsKICAgICAgICAKICAgICAgICBmb3IoaT0wO2k8bjtpKyspCiAgICAgICAgewogICAgICAgICAgICBzY2FuZigiJXMiLCBwbGF5ZXJbaV0ubmFtZSk7CiAgICAgICAgICAgIHNjYW5mKCIlbGxkIiwgJnBsYXllcltpXS5BKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgc29ydChwbGF5ZXIsMCxuLHRlbXApOwogICAgICAgIAogICAgICAgIGZvcihpPTA7aTxuO2krKykKICAgICAgICB7CiAgICAgICAgICAgIHQ9cGxheWVyW2ldLkE7CiAgICAgICAgICAgIAogICAgICAgICAgICB3aGlsZShpIT1uICYmIGkhPShuKzEpICYmIHBsYXllcltpKzFdLkE9PXQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGk9aSsyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBpZihpPG4pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHByaW50ZigiJXNcbiIscGxheWVyW2ldLm5hbWUpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYoaT49bikKICAgICAgICB7CiAgICAgICAgICAgIHByaW50ZigiTm9ib2R5IHdpbnMuXG4iKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgCiAgICB9CiAgICAKICAgIHJldHVybiAwOwp9Cgp2b2lkIG1lcmdlKHN0cnVjdCBwIHBsYXllcltdLGludCBpYmVnaW4saW50IGltaWQsaW50IGllbmQsc3RydWN0IHAgdGVtcFtdKQp7CiAgICBpbnQgYTAsIGExLGo7CiAgICBqID0gaWJlZ2luOwogICAgYTAgPSBpYmVnaW47CiAgICBhMSA9IGltaWQ7CiAgICAKICAgIHdoaWxlKGo8PWllbmQpCiAgICB7CiAgICAgICAgaWYoYTA8aW1pZCAmJiAoKGExPmllbmQpIHx8IChwbGF5ZXJbYTBdLkEgPCBwbGF5ZXJbYTFdLkEpKSkKICAgICAgICB7CiAgICAgICAgICAgIHRlbXBbal09IHBsYXllclthMF07CiAgICAgICAgICAgIGEwKys7CiAgICAgICAgICAgIGorKzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgdGVtcFtqXSA9IHBsYXllclthMV07CiAgICAgICAgICAgIGExKys7CiAgICAgICAgICAgIGorKzsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgc29ydChzdHJ1Y3QgcCBwbGF5ZXJbXSxpbnQgaWJlZ2luLGludCBpZW5kLHN0cnVjdCBwIHRlbXBbXSkKewogICAgaW50IGk7CiAgICAKICAgIGlmKChpZW5kIC0gaWJlZ2luKT09MSkKICAgICAgICByZXR1cm47CiAgICAKICAgIGludCBpbWlkID0gKGllbmQgKyBpYmVnaW4pLzI7CiAgICAKICAgIHNvcnQocGxheWVyLCBpYmVnaW4sIGltaWQsIHRlbXApOwogICAgc29ydChwbGF5ZXIsIGltaWQsIGllbmQsIHRlbXApOwogICAgCiAgICBtZXJnZShwbGF5ZXIsIGliZWdpbiwgaW1pZCwgaWVuZCwgdGVtcCk7CiAgICAKICAgIGZvcihpPWliZWdpbjtpPD1pZW5kO2krKykKICAgIHsKICAgICAgICBwbGF5ZXJbaV0gPSB0ZW1wW2ldOwogICAgfQogICAgCn0K