/*
#include <stdio.h>
int a[100001];
int N;
int bs(int n, int s, int e)
{
int m;
m = (s+e)/2;
if(s==e)
{
if(a[m]>=n)
{
return m;
}
}
if(s+1==e)
{
if(a[m]<n)
{
return e;
}
else
{
return s;
}
}
if(a[m]>=n)
{
bs(n,1,m);
}
else if(a[m]<n)
{
bs(n,m,e);
}
}
int main()
{
int k,i;
scanf("%d %d",&N,&k);
for(i=1;i<=N;i++)
{
scanf("%d",&a[i]);
}
if(a[N]<k)
{
printf("%d",N+1);
return 0;
}
printf("%d",bs(k,1,N));
}
*/
/*
#include <stdio.h>
int a[1000001]={};
int b[100001]={};
int bs(int n,int s,int e)
{
int k;
k=(s+e)/2;
if(s>e)
{
return -1;
}
if(a[k]==n)
{
return k;
}
if(a[k]>n)
{
bs(n,1,k-1);
}
else
{
bs(n,k+1,e);
}
}
int main()
{
int n,m,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(i=1;i<=m;i++)
{
scanf("%d",&b[i]);
printf("%d ",bs(b[i],1,n));
}
}
*/
/*
int main()
{
int i, j, a[100001],n,k,sum=0,cnt=0;
scanf("%d %d",&n,&k);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<=n;i++)
{
sum=0;
for(j=i;sum<k;j++)
{
sum+=a[j];
}
if(sum==k) cnt++;
}
printf("%d",cnt);
}
*/
/*
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
if(n%12>=4)
{
printf("%c",n%12-3+64);
}
else
{
printf("%c",n%12+9+64);
}
if(n%10<=4)
{
printf("%d",n%10+6);
}
else
{
printf("%d",n%10-10+6);
}
}
포인터 : 주소
int 정수
int* 정수의 주소
#include <stdio.h>
void f(int* aa)
{
printf("aa : %d\n",aa);
*aa=*aa+5;
}
void arrf(char* st)
{
printf("st : %s\n",st);
printf("st[3] : %c\n",st[3]);
printf("*st : %c\n",*st);
}
int main()
{
int a;
int* pa;
scanf("%d",&a);
pa=&a;
printf("a : %d\n",a);
printf("&a : %d\n",&a);
printf("pa : %d\n",pa);
f(&a);
printf("a : %d\n",a);
char str[50];
scanf("%s",&str[0]);
//str == &str[0]
//배열의 이름 == 배열의 시작 원소의 주소
arrf(str);
return 0;
}
*/
/*
#include <stdio.h>
void myswap(int* aa, int* bb)
{
int temp;
if(*aa > *bb)
{
temp = *aa;
*aa=*bb;
*bb=temp;
}
return ;
}
int main()
{
int a, b;
scanf("%d%d", &a, &b);
myswap(&a, &b);
printf("%d %d", a, b);
}
*/
/*
#include <stdio.h>
char* mysubstr(char* aa, int* start, int* count)
{
aa[*start+*count]=0;
return aa+*start;
}
int main()
{
char a[101];
int s,k;
scanf("%s %d %d",a,&s,&k);
printf("%s",mysubstr(a,&s,&k));
}
*/
/*
#include <stdio.h>
char stack[201];
int top=-1; //top : 마지막으로 들어온 데이터의 위치
void push(char data)
{
stack[++top]=data;
}
char pop()
{
if(top==-1) return '0';
return stack[top--];
}
void view()
{
printf("stack>> ");
for(int i=0;i<=top;i++)
{
printf("%c ",stack[i]);
}
printf("\n");
}
int main()
{
int n,i;
char data;
int a, b, c;
while(1)
{
printf("1.push 2.pop 3.view >>");
scanf("%d",&a);
if(a==1)
{
printf("push data >>");
scanf(" %c",&data);
push(data);
view();
}
else if(a==2)
{
data=pop();
if(data=='0') printf("stack is empty!!\n");
else printf("pop data %c\n",pop());
view();
}
}
char a[201];
scanf("%d %s",&n,a);
//push('a');
//stack[++top]='a';
for(i=0;i<n;i++)
{
if((n-i-1)%3!=0)
{
printf("%c",a[i]);
}
else
{
if(n-i-1!=0)
{
printf("%c,",a[i]);
}
else
{
printf("%c",a[i]);
}
}
}
}
*/
/*
#include <stdio.h>
int stack[100001];
int top=-1;
void push(int data)
{
stack[++top]=data;
}
int pop()
{
if(top!=-1)
return stack[top--];
}
int main()
{
int i,k,a[100001],sum=0;
scanf("%d",&k);
for(i=1;i<=k;i++)
{
scanf("%d",&a[i]);
if(a[i]!=0)
{
push(a[i]);
}
else
{
pop();
}
}
for(i=0;i<=top;i++)
{
sum+=stack[i];
}
printf("%d",sum);
}
*/
/*
#include <stdio.h>
int top = -1;
int main()
{
char a[50001];
int i;
scanf("%s",a);
for(i=0;i<strlen(a);i++)
{
if(a[i]=='(')
{
top++;
}
else
{
if(top==-1)
{
printf("bad");
return 0;
}
else
{
top--;
}
}
}
if(top==-1)
{
printf("good");
}
else
{
printf("bad");
}
}
*/