///*
//#include <stdio.h>
//#include <stdlib.h>
//
//#define SIZE 10
//
//int queue[SIZE] = {0};
//int front, rear;
//
///*
//- circular queue
//1. full queue
//2. 1 space queue
//*/
//
///*
//void input(int k) {
// if((rear+1)%SIZE==front) {
// printf("Queue is Full\n");
// return ;
// }
// queue[rear++] = k;
// rear %= SIZE;
//}
//
//void output() {
// if(front==rear) {
// printf("queue is null\n");
// return;
// }
// printf("Queue output is %d\n", queue[front]);
// queue[front] = 0;
// front++;
// front = front % SIZE;
//}
//
//void print() {
// int i;
//
// printf("Queue list is\n");
// for(i=0; i<SIZE; i++) {
// printf("%d ", queue[i]);
// }
// printf("\n");
//}
//
//
//int main()
//{
// int p, n;
//
// for(;;) {
// scanf("%d", &p);
//
// switch(p) {
// case 1:
// printf("input data: ");
// scanf("%d", &n);
// input(n);
// break;
// case 2:
// output();
// break;
// case 3:
// print();
// break;
// default:
// printf("input error");
// }
//
// }
//
// return 0;
//}
//*/
///*
//#include<stdio.h>
//
//#define SIZE 10
//
//int queue[SIZE] = {0};
//int front, rear;
//int v;
//
//void input(int k) {
// if(front==rear && v==1) {
// printf("Queue is Full\n");
// return ;
// }
// v=1;
// queue[rear++] = k;
// rear %= SIZE;
//}
//
//void output() {
// if(front==rear && v==0) {
// printf("queue is null\n");
// return;
// }
// v=0;
// printf("Queue output is %d\n", queue[front]);
// queue[front] = 0;
// front++;
// front = front % SIZE;
//}
//
//void print() {
// int i;
//
// printf("Queue list is\n");
// for(i=0; i<SIZE; i++) {
// printf("%d ", queue[i]);
// }
// printf("\n");
//}
//
//
//
//int main ()
//{
// int p, n;
// for(;;)
// {
// scanf("%d",&p);
//
// switch(p)
// {
// case 1:
// printf("input data: ");
// scanf("%d", &n);
// input(n);
// break;
// case 2:
// output();
// break;
// case 3:
// print();
// break;
// default:
// printf("input error\n");
// }
// }
//}
//*/
//
//#include<stdio.h>
//#include<string.h>
//
//char ch1(char arr[])
//{
// char e;
// e=arr[0];
// return e;
//}
//
//char ch2(char arr[])
//{
// char f;
// f=arr[strlen(arr)-1];
// return f;
//}
//
//int main ()
//{
// char a[25];
// char b[25];
// char c[25];
//
// char l,m,n,o,p,q;
//
// scanf("%s",a);
// scanf("%s",b);
// scanf("%s",c);
//
// l=ch1(a);
// m=ch1(b);
// n=ch1(c);
//
// o=ch2(a);
// p=ch2(b);
// q=ch2(c);
//
// if(l==q && m==o && n==p)
// {
// printf("good");
// return 0;
// }
// else {
// printf("bad");
// return 0;
// }
//
//}
//#include<stdio.h>
//
//int comp(char word1[], word2[]) {
// if(word1[0]==word2[strlen(word)-1])
// return 1;
// else
// return 0;
//}
//
//int main() {
// char word1[100], word2[100], word3[100];
//
// scanf("%s %s %s", word1, word2, word3);
//
// k += comp(aaa, bbb);
//
//}
/*
#include<stdio.h>
int main ()
{
int n;
int k=0;
int r=0;
int sc=1;
int min=0;
scanf("%d",&n);
int score[200];
int rank[200]= {0};
for(int i=0; i<n; i++)
{
scanf("%d",&score[i]);
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(score[i]<score[j])
{
rank[i]++;
}
}
}
for(int i=0; i<n; i++)
{
printf("%d %d\n",score[i],rank[i]+1);
}
return 0;
}
*/
//#include<stdio.h>
//
//struct studentInfo {
// char name[10];
// int age;
// int kor;
// int math;
// int eng;
//};
//
//int main() {
// struct studentInfo schoolData[10];
//
// printf("%d %d\n", &schoolData[0], &schoolData[1]);
// printf("%d %d %d %d %d\n", &schoolData[0].name, &schoolData[0].age, &schoolData[0].kor, &schoolData[0].eng, &schoolData[0].math);
// printf("%d %d", sizeof(schoolData), sizeof(schoolData[0]));
//
//}
//
/*
#include<stdio.h>
struct chr
{
int num;
int st;
};
int main ()
{
int n;
int temp_1=0,temp_2=0;
struct chr asd[100];
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d %d",&asd[i].num,&asd[i].st);
}
for(int i = 0 ; i < n ; i ++)
{
for(int j = 0 ; j < n -i -1 ; j ++)
{
if(asd[j].num>asd[j+1].num)
{
temp_1 = asd[j].num;
asd[j].num = asd[j+1].num;
asd[j+1].num = temp_1;
temp_2 = asd[j].st;
asd[j].st = asd[j+1].st;
asd[j+1].st = temp_2;
}
}
}
for(int i=0;i<n;i++)
{
printf("%d %d\n",asd[i].num,asd[i].st);
}
}
*/
/*
#include<stdio.h>
struct info
{
char name[10];
int a;
int b;
int c;
};
int main ()
{
struct info st[100];
int n;
int B=0,C=0;
int k=0;
int min=0;
scanf("%d",&n);
for(int i=0; i<n; i++)
{
scanf("%s %d %d %d",st[i].name, &st[i].a, &st[i].b, &st[i].c);
}
for(int i=0; i<n; i++)
{
if(min<=st[i].a)
{
min=st[i].a;
k=i;
}
}
for(int j=0; j<n; j++)
{
if(st[k].b<st[j].b)
{
B++;
}
}
for(int j=0; j<n; j++)
{
if(st[k].c<st[j].c)
{
C++;
}
}
printf("%s %d %d",st[k].name,B+1,C+1);
return 0;
}
*/
/*
#include<stdio.h>
int main ()
{
int n;
int ct=0;
int max=200000;
int arr[50000] = {0,};
int sc[50000] = {0,};
int k;
scanf("%d",&n);
for(int i=0; i<n; i++)
{
scanf("%d",&arr[i]);
}
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(arr[i]>arr[j])
{
sc[i]++;
}
}
}
for(int i=0;i<n;i++)
{
printf("%d ",sc[i]);
}
return 0;
}
*/
/*
#include<stdio.h>
#include<malloc.h>
int main() {
int *a;
int n, i;
scanf("%d", &n);
a = (int*) malloc(sizeof(int)*n);
// realloc, calloc
a[4] = 10;
printf("%d", a[4]);
}
*/
/*
#include<stdio.h>
#include<malloc.h>
// 동적 할당
struct list {
int data;
struct list *next;
};
int main() {
int n;
struct list *start;
for(;;) {
scanf("%d", &n);
if(start==NULL) {
struct list *node;
node = (struct list*) malloc(sizeof(struct list));
}
else {
}
}
}
*/
/*
#include<stdio.h>
int main ()
{
int n;
int arr[1000]={0,};
int *a;
scanf("%d",&n);
a = (int*) malloc(sizeof(int)*n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++)
{
for(int j=i;j<n+i;j++)
{
printf("%d ",a[j%n]);
}
printf("\n");
}
return 0;
}
*/