/*
#include <stdio.h>
//두 수의 곱 = 두 수의 최대공약수와 최소공배수의곱
//a*b=c*d
//a*b/c=d
int gcd(int p, int q){ if(p==0) return q; return gcd(q%p, p);}
long long int lcm(int a,int b)
{
return (long long int)a*b/gcd(a,b);
}
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%lld\n", lcm(a, b));
}
*/
/*
#include<stdio.h>
//각 자릿수의 합을 리턴 함수
int f(int n)
{
int sum=0;
while(n>0)
{
sum=sum+n%10;
n=n/10;
}
//sum=n의 각 자릿수의 합
return sum;
}
int main()
{
int n;
scanf("%d",&n);
n=f(n);
while(n>=10)
{
n=f(n);
}
printf("%d",n);
return 0;
}
n rev
12305 5
1230 50
123 503
12 5032
1 50321
0
#include <stdio.h>
long long int n;
long long int f(long long int n)
{
long long int rev=0;
while(n>0)
{
rev=rev*10+n%10;
n=n/10;
}
}
int main()
{
scanf("%lld", &n);
printf("%lld\n", f(n));
}
학생 500명
등급 , 나이
내가 만드는 자료형
typedef struct
{
int age;
char grade;
}student;
int main()
{
// student a;
// a.age=10;
// a.grade='A';
student arr[500];// arr[0] ~ arr[499]
}
*/
/*
#include<stdio.h>
typedef struct
{
int a;
int b;
}allllll;
int main()
{
allllll arr[201];
int c,d=1,i,j;
scanf("%d",&c);
for(i=0;i<c;i++)
{
scanf("%d",&arr[i].a);
}
for(i=0;i<c;i++)
{
d=1;
for(j=0;j<c;j++)
{
if(arr[j].a>arr[i].a)
{
d++;
}
}
arr[i].b=d;
printf("%d %d\n",arr[i].a,arr[i].b);
}
}
*/
#include<stdio.h>
typedef struct
{
int a;
int b;
int c;
}momomomomo;
int main()
{
momomomomo arr[101];
int d,i,j;
int mi,m=0;
scanf("%d",&d);
for(i=0;i<d;i++)
{
scanf("%d %d %d",&arr[i].a,&arr[i].b,&arr[i].c);
}
for(i=0;i<2;i++)
{
mi=0;
for(j=0;j<d;j++)
{
if(arr[mi].c<arr[j].c)
{
mi=j;
}
}
if(i==0) m=mi;
printf("%d %d\n",arr[mi].a,arr[mi].b);
arr[mi].c=0;
}
//if(금메달나라 ==은메달나라)
//그나라에 속한 학생 점수 모두 0점처리
if(arr[mi].a==arr[m].a)
{
for(j=0;j<d;j++)
{
if(arr[j].a==arr[mi].a)
{
arr[j].c=0;
}
}
}
// 1등을 구하기
mi=0;
for(j=0;j<d;j++)
{
if(arr[mi].c<arr[j].c)
{
mi=j;
}
}
printf("%d %d\n",arr[mi].a,arr[mi].b);
}