//
// 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++)
{
}
for(i=0;i<n;i++)
{
if(i==0)
{
if(player[i].A==player[i+1].A)
continue;
else
{
printf("%s\n", player
[i
].
name); break;
}
}
else if(i==n-1)
{
if(player[i].A==player[i-1].A)
continue;
else
{
printf("%s\n", player
[i
].
name); break;
}
}
else
{
if((player[i].A == player[i+1].A) || (player[i].A==player[i-1].A))
continue;
else
{
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];
}
}
Ly8KLy8gIG1haW4uYwovLyAgTlVNQkVSUwovLwovLyAgQ3JlYXRlZCBieSBEaHJ1diBNdWxsaWNrIG9uIDI0LzExLzEzLgovLyAgQ29weXJpZ2h0IChjKSAyMDEzIERocnV2IE11bGxpY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vCgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKc3RydWN0IHAKewogICAgbG9uZyBsb25nIGludCBBOwogICAgY2hhciBuYW1lWzZdOwp9OwoKdm9pZCBzb3J0KHN0cnVjdCBwIHBsYXllcltdLGludCBpYmVnaW4saW50IGllbmQsIHN0cnVjdCBwIHRlbXBbXSk7CnZvaWQgbWVyZ2Uoc3RydWN0IHAgcGxheWVyW10saW50IGliZWdpbixpbnQgaW1pZCxpbnQgaWVuZCxzdHJ1Y3QgcCB0ZW1wW10pOwoKaW50IG1haW4odm9pZCkKewogICAgaW50IG4saSxjOwogICAgbG9uZyBsb25nIGludCB0OwogICAgc2NhbmYoIiVkIiwmYyk7CiAgICAKICAgIHdoaWxlKGMtLSkKICAgIHsKICAgICAgICBzY2FuZigiJWQiLCZuKTsKICAgICAgICAKICAgICAgICBzdHJ1Y3QgcCBwbGF5ZXJbbl07CiAgICAgICAgc3RydWN0IHAgdGVtcFtuXTsKICAgICAgICAKICAgICAgICBmb3IoaT0wO2k8bjtpKyspCiAgICAgICAgewogICAgICAgICAgICBzY2FuZigiJXMiLCBwbGF5ZXJbaV0ubmFtZSk7CiAgICAgICAgICAgIHNjYW5mKCIlbGxkIiwgJnBsYXllcltpXS5BKTsKICAgICAgICAgICAgCiAgICAgICAgfQogICAgICAgIAogICAgICAgIHNvcnQocGxheWVyLDAsbix0ZW1wKTsKICAgICAgICAKICAgICAgICAgZm9yKGk9MDtpPG47aSsrKQogICAgICAgICB7CiAgICAgICAgICAgICBwcmludGYoIiVzIiwgcGxheWVyW2ldLm5hbWUpOwogICAgICAgICAgICAgcHJpbnRmKCIlbGxkIiwgcGxheWVyW2ldLkEpOwogICAgICAgIAogICAgICAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZm9yKGk9MDtpPG47aSsrKQogICAgICAgIHsKICAgICAgICAgICAgaWYoaT09MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYocGxheWVyW2ldLkE9PXBsYXllcltpKzFdLkEpCiAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlc1xuIiwgcGxheWVyW2ldLm5hbWUpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBlbHNlIGlmKGk9PW4tMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYocGxheWVyW2ldLkE9PXBsYXllcltpLTFdLkEpCiAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlc1xuIiwgcGxheWVyW2ldLm5hbWUpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKChwbGF5ZXJbaV0uQSA9PSBwbGF5ZXJbaSsxXS5BKSB8fCAocGxheWVyW2ldLkE9PXBsYXllcltpLTFdLkEpKQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlc1xuIiwgcGxheWVyW2ldLm5hbWUpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZihpPT1uKQogICAgICAgICAgICBwcmludGYoIk5vYm9keSB3aW5zLiIpOwogICAgICAgIAogICAgfQogICAgCiAgICByZXR1cm4gMDsKfQoKdm9pZCBtZXJnZShzdHJ1Y3QgcCBwbGF5ZXJbXSxpbnQgaWJlZ2luLGludCBpbWlkLGludCBpZW5kLHN0cnVjdCBwIHRlbXBbXSkKewogICAgaW50IGEwLCBhMSxqOwogICAgaiA9IGliZWdpbjsKICAgIGEwID0gaWJlZ2luOwogICAgYTEgPSBpbWlkOwogICAgCiAgICB3aGlsZShqPD1pZW5kKQogICAgewogICAgICAgIGlmKGEwPGltaWQgJiYgKChhMT5pZW5kKSB8fCAocGxheWVyW2EwXS5BIDwgcGxheWVyW2ExXS5BKSkpCiAgICAgICAgewogICAgICAgICAgICB0ZW1wW2pdPSBwbGF5ZXJbYTBdOwogICAgICAgICAgICBhMCsrOwogICAgICAgICAgICBqKys7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHRlbXBbal0gPSBwbGF5ZXJbYTFdOwogICAgICAgICAgICBhMSsrOwogICAgICAgICAgICBqKys7CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIHNvcnQoc3RydWN0IHAgcGxheWVyW10saW50IGliZWdpbixpbnQgaWVuZCxzdHJ1Y3QgcCB0ZW1wW10pCnsKICAgIGludCBpOwogICAgCiAgICBpZigoaWVuZCAtIGliZWdpbik9PTEpCiAgICAgICAgcmV0dXJuOwogICAgCiAgICBpbnQgaW1pZCA9IChpZW5kICsgaWJlZ2luKS8yOwogICAgCiAgICBzb3J0KHBsYXllciwgaWJlZ2luLCBpbWlkLCB0ZW1wKTsKICAgIHNvcnQocGxheWVyLCBpbWlkLCBpZW5kLCB0ZW1wKTsKICAgIAogICAgbWVyZ2UocGxheWVyLCBpYmVnaW4sIGltaWQsIGllbmQsIHRlbXApOwogICAgCiAgICBmb3IoaT1pYmVnaW47aTw9aWVuZDtpKyspCiAgICB7CiAgICAgICAgcGxheWVyW2ldID0gdGVtcFtpXTsKICAgIH0KICAgIAp9Cg==