/*
#include <stdio.h>
typedef struct
{
char sn[10];
int a,b,c;
}sdt;
int main()
{
int n,i,d=1,D,grade1=1,grade2=1;
sdt arr[101];
scanf("%d ",&n);
for(i=1;i<=n;i++)
{
scanf("%s %d %d %d",arr[i].sn,&arr[i].a,&arr[i].b,&arr[i].c);
}
for(i=1;i<=n;i++)
{
if(arr[i].a>d)
{
d=arr[i].a;
D=i;
}
}
for(i=1;i<=n;i++)
{
if(arr[D].b<arr[i].b)
{
grade1++;
}
if(arr[D].c<arr[i].c)
{
grade2++;
}
}
printf("%s %d %d",arr[D].sn,grade1,grade2);
}
*/
/*
#include <stdio.h>
typedef struct
{
char sn[10];
int a;
} sdt;
int main()
{
sdt arr[101];
int n,i,d=0,m,j;
scanf("%d %d",&n,&m);
for(i=1; i<=n; i++)
{
scanf("%s %d",arr[i].sn,&arr[i].a);
}
d=1;
for(j=1; j<=m; j++)
{
for(i=1; i<=n; i++)
{
if(arr[i].a>arr[d].a)
{
d=i;
}
}
printf("%s\n",arr[d].sn);
arr[d].a=0;
}
}
*/
/*
성적순으로 출력하는 프로그램 작성
4명중 성적이 가장 높은 사람 출력, 그 사람의 점수 0점으로 만든 후 나머지
사람에게도 적용해서 반복
m의 개수에 따라 출력개수 결정하기
for(i=1;i<=m;i++)
{
printf("%s\n",arr[i].sn);
}
*/
/*
void f(int n)
{
for(int i=n;i>=1;i--)
printf("%d ",i);
}
recursive function
재귀함수 : 자신으로 다시 돌아온다
: 함수 내에서 자신을 다시 호출하는 함수
: 자신으로 다시 정의내리는 함수
f(n) : n부터 1까지 출력
: n출력 -> n-1부터 1출력
: n출력 -> f(n-1) (n!=0)
#include <stdio.h>
void f(int n)
{
if(n==0) return ;
printf("%d ",n);
f(n-1);
}
int main()
{
int n;
scanf("%d",&n);
f(n);
}
f(n) : 1부터 n까지 출력
#include <stdio.h>
void f(int n)
{
if(n==0)return;
f(n-1);
printf("%d ",n);
}
int main()
{
int n;
scanf("%d",&n);
f(n);
}
*/
//a부터 b까지 출력
#include <stdio.h>
void f(int a, int b)
{
if(a==b+1)return;
printf("%d ",a);
f(a+1,b);
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
f(a,b);
}