/*
#include <stdio.h>
int c=0;
void f(int k)
{
if (k==0) {
return;
}
if (k%10==0&&c==0) {
printf("");
}
else {
printf("%d",k%10);
c++;
}
k=k/10;
f(k);
}
int main()
{
int n;
scanf("%d",&n);
if (n==0) {
printf("0");
}
else {
f(n);
}
}
*/
/*
#include <stdio.h>
int arr[1000][1000]={};
int supersum(int k,int n)
{
if (arr[k][n]!=0) {
return arr[k][n];
}
if (k==0) {
return n;
}
if (n==0) {
return 0;
}
return arr[k][n]=(supersum(k,n-1)+supersum(k-1,n));
}
int main()
{
int k,n;
while ( scanf("%d %d",&k ,&n) != EOF) {
printf("%d\n",supersum(k,n));
}
}
구조체 struct : 사용자 정의 자료형 (내가 만드는 자료형)
int a;
char b;
jinho a ;
ex) 학생 100명의 나이(int)와 성적(char)을 관리
before
int age[100];
char grade[100];
#include <stdio.h>
typedef struct
{
char name[10];
int age;
char grade;
} student;
int main()
{
student a;
a.age=10;
a.grade='A';
student arr[100];
}
*/
#include <stdio.h>
typedef struct
{
int j;
int s;
}student;
int main()
{
int n=0,c=0;
scanf("%d",&c);
student arr[201]={c};
for (int i=0 ; i<c ; i++) {
scanf("%d",&arr[i].j);
}
for (int i=0 ; i<c ; i++) {
for (int j=0 ; j<c ; j++) {
if (arr[i].j < arr[j].j) {
arr[i].s--;
}
}
}
}
/*
#include <stdio.h>
typedef struct
{
int na;
int ha;
int j;
int c;
}as;
int main()
{
int n,g=0,e=0,d=0,i,j;
int gn=0,en=0,dn=0;
as arr[101]={};
scanf("%d",&n);
for (i=0 ; i<n ; i++) {
scanf("%d %d %d",&arr[i].na,&arr[i].ha,&arr[i].j);
}
for (i=0 ; i<n ; i++) {
//for (int j=0 ; j<n ; j++) {q
if (arr[i].j > arr[g].j) {
g=i;
}
}
printf("%d %d\n",arr[g].na,arr[g].ha);
gn=arr[g].na;
arr[g].j=0;
for (i=0 ; i<n ; i++) {
if (arr[i].j > arr[e].j) {
e=i;
}
}
printf("%d %d\n",arr[e].na,arr[e].ha);
en=arr[e].na;
arr[e].j=0;
if(gn==en){
for (i=0 ; i<n ; i++) {
if(arr[i].na==gn){
arr[i].j=0;
}
}
}
for (i=0 ; i<n ; i++) {
if (arr[i].j > arr[d].j) {
d=i;
}
}
printf("%d %d\n",arr[d].na,arr[d].ha);
}
*/
/*
#include <stdio.h>
typedef struct
{
char name[1000];
int su;
int yo;
int ku;
}yamy;
int main()
{
int n;
yamy suzal;
yamy ha[140]={};
scanf("%d",&n);
int i;
for (i=0 ; i<n ; i++) {
scanf("%s %d %d %d",ha[i].name,&ha[i].su,&ha[i].yo,&ha[i].ku);
}
int max=0;
for (i=0 ; i<n ; i++) {
if ( ha[max].su < ha[i].su) {
max=i;
}
}
int yd=1;
printf("%s ",ha[max].name);
for (i=0 ; i<n ; i++){
if (ha[max].yo < ha[i].yo){
yd++;
}
}
printf("%d ",yd);
int kd=1;
for (i=0 ; i<n ; i++){
if (ha[max].ku < ha[i].ku){
kd++;
}
}
printf("%d ",kd);
}
*/
#include <stdio.h>
typedef struct
{
int sic;
int gas;
int s;
int c;
}er;
int main()
{
int n,i,j,c=0;
er arr[101]={};
scanf("%d",&n);
for (i=0 ; i<n ; i++) {
scanf("%d %d",&arr[i].sic,&arr[i].gas);
}
int small=0; //최소값의 "위치"
while (1) {
for (i=0 ; i<n ; i++) {
if (arr[small].sic>arr[i].sic) {
small=i;
}
}
printf("%d %d\n",arr[small].sic,arr[small].gas);
arr[small].sic = 101;
}
}
/*
#include <stdio.h>
typedef struct
{
int j;
int s;
}student;
int main()
{
int n=0,c=0;
scanf("%d",&c);
student arr[201]={};
for (int i=0 ; i<c ; i++) {
scanf("%d",&arr[i].j);
}
for (int i=0 ; i<c ; i++) {
arr[i].s=1;
for (int j=0 ; j<c ; j++) {
if (arr[i].j < arr[j].j) {
arr[i].s++;
}
}
printf("%d %d\n",arr[i].j,arr[i].s);
}
}*/
#include <stdio.h>
typedef struct
{
int na;
int ha;
int j;
int c;
}as;
int main()
{
int n,g=0,e=0,d=0,i,j;
int gn=0,en=0,dn=0;
as arr[101]={};
scanf("%d",&n);
for (i=0 ; i<n ; i++) {
scanf("%d %d %d",&arr[i].na,&arr[i].ha,&arr[i].j);
}
for (i=0 ; i<n ; i++) {
//for (int j=0 ; j<n ; j++) {
if (arr[i].j > g ) {
g=arr[i].j;
gn=arr[i].na;
}
else if (arr[i].j > e) {
e=arr[i].j;
en=arr[i].na;
}
else if (arr[i].j > d) {
if (gn==en&&gn!=arr[i].na||gn!=en&&gn==arr[i].na||gn!=en&&gn!=arr[i].na) {
d=arr[i].j;
}
}
}
for (int i=0 ; i<n ; i++) {
if (g==arr[i].j) {
printf("%d %d\n",arr[i].na,arr[i].ha);
}
else if (e==arr[i].j) {
printf("%d %d\n",arr[i].na,arr[i].ha);
}
else if (d==arr[i].j) {
printf("%d %d",arr[i].na,arr[i].ha);
}
}
}