//
// 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++)
{
fgets(player
[i
].
name, 6, stdin
); scanf("%lld", &player
[i
].
A); }
sort(player,0,n,temp);
//For checking purpose only. String isn't getting printed.
for(i=0;i<n;i++)
{
//fputs(player[i].name,stdout);
printf("%lld\n", player
[i
].
A); }
for(i=0;i<n;i++)
{
t=player[i].A;
while((i+1)!=n && player[i+1].A==t)
{
i++;
}
if(player[i].A==t)
{
fputs(player
[i
].
name,stdout
); printf("%lld\n", player
[i
].
A); 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].A = player[a0].A;
strcpy(temp
[j
].
name, player
[a0
].
name); a0++;
j++;
}
else
{
temp[j].A = player[a1].A;
strcpy(temp
[j
].
name, player
[a1
].
name); 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];
}
}
Ly8KLy8gIG1haW4uYwovLyAgTlVNQkVSUwovLwovLyAgQ3JlYXRlZCBieSBEaHJ1diBNdWxsaWNrIG9uIDI0LzExLzEzLgovLyAgQ29weXJpZ2h0IChjKSAyMDEzIERocnV2IE11bGxpY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vCgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKc3RydWN0IHAKewogICAgbG9uZyBsb25nIGludCBBOwogICAgY2hhciBuYW1lWzZdOwp9OwoKdm9pZCBzb3J0KHN0cnVjdCBwIHBsYXllcltdLGludCBpYmVnaW4saW50IGllbmQsIHN0cnVjdCBwIHRlbXBbXSk7CnZvaWQgbWVyZ2Uoc3RydWN0IHAgcGxheWVyW10saW50IGliZWdpbixpbnQgaW1pZCxpbnQgaWVuZCxzdHJ1Y3QgcCB0ZW1wW10pOwoKaW50IG1haW4odm9pZCkKewogICAgaW50IG4saSxjOwogICAgbG9uZyBsb25nIGludCB0OwogICAgc2NhbmYoIiVkIiwmYyk7CiAgICAKICAgIHdoaWxlKGMtLSkKICAgIHsKICAgICAgICBzY2FuZigiJWQiLCZuKTsKICAgICAgICBzdHJ1Y3QgcCBwbGF5ZXJbbl07CiAgICAgICAgc3RydWN0IHAgdGVtcFtuXTsKICAgICAgICAKICAgICAgICBmb3IoaT0wO2k8bjtpKyspCiAgICAgICAgewogICAgICAgICAgICBmZ2V0cyhwbGF5ZXJbaV0ubmFtZSwgNiwgc3RkaW4pOwogICAgICAgICAgICBnZXRjaGFyKCk7CiAgICAgICAgICAgIHNjYW5mKCIlbGxkIiwgJnBsYXllcltpXS5BKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgc29ydChwbGF5ZXIsMCxuLHRlbXApOwogICAgICAgIAogICAgICAgIC8vRm9yIGNoZWNraW5nIHB1cnBvc2Ugb25seS4gU3RyaW5nIGlzbid0IGdldHRpbmcgcHJpbnRlZC4KICAgICAgICBmb3IoaT0wO2k8bjtpKyspCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoIiVzIiwgcGxheWVyW2ldLm5hbWUpOwogICAgICAgICAgICAvL2ZwdXRzKHBsYXllcltpXS5uYW1lLHN0ZG91dCk7CiAgICAgICAgICAgIAogICAgICAgICAgICBwcmludGYoIiVsbGRcbiIsIHBsYXllcltpXS5BKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZm9yKGk9MDtpPG47aSsrKQogICAgICAgIHsKICAgICAgICAgICAgdD1wbGF5ZXJbaV0uQTsKICAgICAgICAgICAgCiAgICAgICAgICAgIHdoaWxlKChpKzEpIT1uICYmIHBsYXllcltpKzFdLkE9PXQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgaWYocGxheWVyW2ldLkE9PXQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZwdXRzKHBsYXllcltpXS5uYW1lLHN0ZG91dCk7CiAgICAgICAgICAgICAgICBwcmludGYoIiVsbGRcbiIsIHBsYXllcltpXS5BKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmKGk9PW4pCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoIk5vYm9keSB3aW5zLlxuIik7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIAogICAgfQogICAgCiAgICByZXR1cm4gMDsKfQoKdm9pZCBtZXJnZShzdHJ1Y3QgcCBwbGF5ZXJbXSxpbnQgaWJlZ2luLGludCBpbWlkLGludCBpZW5kLHN0cnVjdCBwIHRlbXBbXSkKewogICAgaW50IGEwLCBhMSxqOwogICAgaiA9IGliZWdpbjsKICAgIGEwID0gaWJlZ2luOwogICAgYTEgPSBpbWlkOwogICAgCiAgICB3aGlsZShqPGllbmQpCiAgICB7CiAgICAgICAgaWYoYTA8aW1pZCAmJiAoKGExPmllbmQpIHx8IChwbGF5ZXJbYTBdLkEgPCBwbGF5ZXJbYTFdLkEpKSkKICAgICAgICB7CiAgICAgICAgICAgIHRlbXBbal0uQSA9IHBsYXllclthMF0uQTsKICAgICAgICAgICAgc3RyY3B5KHRlbXBbal0ubmFtZSwgcGxheWVyW2EwXS5uYW1lKTsKICAgICAgICAgICAgYTArKzsKICAgICAgICAgICAgaisrOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICB0ZW1wW2pdLkEgPSBwbGF5ZXJbYTFdLkE7CiAgICAgICAgICAgIHN0cmNweSh0ZW1wW2pdLm5hbWUsIHBsYXllclthMV0ubmFtZSk7CiAgICAgICAgICAgIGExKys7CiAgICAgICAgICAgIGorKzsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgc29ydChzdHJ1Y3QgcCBwbGF5ZXJbXSxpbnQgaWJlZ2luLGludCBpZW5kLHN0cnVjdCBwIHRlbXBbXSkKewogICAgaW50IGk7CiAgICAKICAgIGlmKChpZW5kIC0gaWJlZ2luKT09MSkKICAgICAgICByZXR1cm47CiAgICAKICAgIGludCBpbWlkID0gKGllbmQgKyBpYmVnaW4pLzI7CiAgICAKICAgIHNvcnQocGxheWVyLCBpYmVnaW4sIGltaWQsIHRlbXApOwogICAgc29ydChwbGF5ZXIsIGltaWQsIGllbmQsIHRlbXApOwogICAgCiAgICBtZXJnZShwbGF5ZXIsIGliZWdpbiwgaW1pZCwgaWVuZCwgdGVtcCk7CiAgICAKICAgIGZvcihpPWliZWdpbjtpPD1pZW5kO2krKykKICAgIHsKICAgICAgICBwbGF5ZXJbaV0gPSB0ZW1wW2ldOwogICAgfQogICAgCn0K