semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
    int a[100],n,m,t,i,j,x;
    scanf("%d %d",&n,&m);
    for(i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
    for(i=0;i<m;i++)
        {
            for(j=n-1;j>=-1;j--)
                {
                    if(j==n-1)
                    x=a[n-1];
                    else if(j==-1)
                    a[0]=x;
                    else a[j+1]=a[j];
                }
        }
    printf("%d",a[0]);
    for(i=1;i<n;i++)
        {
            printf(" %d",a[i]);
        }
    return 0;
}
void main()
{
	int n,m,i,p;//n??????m??????
	int a[201]={0};
	p=0;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
	{scanf("%d",&a[i]);}
    for(i=n-m;i<n;i++)
	{
		a[100+p]=a[i];
		p=p+1;
	}
	for(i=n-1;i>=m;i--)
	{
		a[i]=a[i-m];
	}
	for(i=0;i<m;i++)
	{	a[i]=a[100+i];}
	printf("%d",a[0]);
	for(i=1;i<n;i++)
	{printf(" %d",a[i]);}

}
/*
 * zhizhen2.cpp
 *
 *  Created on: 2010-12-8
 *      Author: l
 */
int main(){
	int n,i,t,c;
	cin>>n>>t;
	int a[n];
	for(i=0;i<n;i++)
	cin>>a[i];//??
	int *b=NULL;//????
b=a;
for(int j=1;j<=t;j++){//????????????????????????
c=a[n-1];
for(i=n-1;i>0;i--)
	*(b+i)=a[i-1];//????
*b=c;}//?????????

	for(i=0;i<n-1;i++)
		cout<<a[i]<<" ";
	cout<<a[n-1]<<endl;//????

	return 0;
}
int t=0;
void range(int n,int m,int *p)
{
	if(t==m)
		return;
	else
	{
		t++;
		range(n,m,p);
		int v=*(p+n-1);
		int i;
		for(i=n-1;i>0;i--)
			*(p+i)=*(p+i-1);
		*p=v;

	}
}

void main()
{
	int n,m;
	scanf("%d %d",&n,&m);
	int num[100];
	int *p=num;
	int i;
	for(i=0;i<n;i++)
		scanf("%d",&num[i]);
	range(n,m,p);
	for(i=0;i<n-1;i++)
		printf("%d ",num[i]);
	printf("%d",num[n-1]);
}
int main()
{
	int n,m,i;
	int a[101];
	scanf("%d%d",&n,&m);
	for(i=m;i<n+m;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<m;i++)
	{
		a[i]=a[n++];
	}
	for(i=n;i<n+m;i++)
	{
		a[i]=0;
	}
	for(i=0;i<n-m;i++)
	{
		printf("%d",a[i]);
		if(i!=n-m-1)
		{
			printf(" ");
		}
	}
	return 0;
}
int main()
{
    int i,k,m,n,t,a[101];
    cin>>n>>m;
    for(i=0;i<n;i++)
    	cin>>*(a+i);
    for(k=1;k<=m;k++)
    {
    	t=*(a+n-1);
    	for(i=n-1;i>0;i--)
    		*(a+i)=*(a+i-1);
    	*a=t;
    }
    for(i=0;i<n-1;i++)
    	cout<<*(a+i)<<' ';
    cout<<*(a+i);
	return 0;
}
void swap(int x,int y,int a[])
{
    int t;
    while(x<y)
    {
        t=a[x];
        a[x]=a[y];
        a[y]=t;
        x++;
        y--;
    }
}
int main()
{
    int n,m,a[100],i;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++) scanf("%d",&a[i]);
    swap(0,n-1,a);
    swap(0,m-1,a);
    swap(m,n-1,a);
    printf("%d",a[0]);
    for(i=1;i<n;i++) printf(" %d",a[i]);
}
int main(){
	int i,n,m,a[100]={0};
	int *p;
	scanf("%d%d",&n,&m);
	for (i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	p=&a[n-m+1];
	for (;p<=&a[n];p++){
		printf("%d ",*p);
	}
	for (p=&a[1];p<=&a[n-m];p++){
		if (p!=&a[n-m])
			printf("%d ",*p);
		else printf("%d",*p);
	}
	return 0;
}
int main()
{
	int a[200];
	int i;
	int j;
	int *p1;
	int *p2;
	int n;
	int m;
	cin>>n;
	cin>>m;
	for(i=0;i<=n-1;i++)
		cin>>a[i];


	p2=a+n-m;
	p1=a;
	int temp;

	for(i=0;i<=n-m;i++)
	{
		a[n+i]=*(p1+i);
	}
	for(i=0;i<=n-2;i++)
	cout<<*(p2+i)<<' ';
	cout<<*(p2+n-1);
	return 0;


}
int main()
{
	int n,m,i,j,a[100];
	int * shu;
	cin>>n>>m;
	for(i=0;i<n;i++)
		cin>>a[i];
    shu=a+n-m;
	i=0;
	do{
		cout<<*shu<<" ";
		shu++;
		i++;
		if(shu>a+n-1) shu=a;
		
	}while(i<n-1);
	cout<<*shu;
	return 0;
}
//********************************
//*???1.???? **
//*?????? 1300017623 **
//*???2013.12.11  **
//********************************
int main()
{
	int a[100] = {0};
	int *p = a;
	int n, m, t;
	cin >> n >> m;
	for (p = a; p <= &a[n-1]; p++)
		cin >> *p;
	for (; m > 0; m--)
	{
		t = a[n-1];
		for (p = &a[n-2]; p >= a; p--)
			*(p + 1) = *p;
		a[0] = t;
	}
	cout << a[0];
	for (p = &a[1]; p <= &a[n-1]; p++)
		cout << " " << *p;

	return 0;
}
int n,m,a[101];
void toscan()
{
  int i;
  scanf("%d%d",&n,&m);
  for(i=0;i<n;i++)
    scanf("%d",&a[i]);
}

void yidong(int n,int m,int a[])
{
  int t,i,j;
  for(i=0;i<m;i++)
   { for(j=n;j>0;j--)
        a[j]=a[j-1];
     a[0]=a[n];
   }
}

void toprint()
{ int i;
  printf("%d",a[0]);
  for(i=1;i<n;i++)
    printf(" %d",a[i]);
}
main()
{
  toscan();
  yidong(n,m,a);
  toprint();
  return 0;
}
int main()
{
	int m,n;
	int a[PI];
	int i,tmp;
	int *pi;

	scanf("%d %d",&n,&m);
	for (i=0;i<n;i++)
		scanf("%d",&a[i]);

	pi=&a[0];
	i=0;
	while (i!=m)
	{
		pi+=n-1;
		tmp=*pi;
		for (;pi>&a[0];pi--)
		{
			*pi=*(pi-1);
		}
		*pi=tmp;
		i++;
	}

	for (i=0;i<n;i++)
	{
		if (i==n-1)
		{
			printf("%d",a[i]);
		}
		else
		{
			printf("%d ",a[i]);
		}
	}

	return 0;
}
void main()
{
    int n,m,i;
    int *p;
    int a[100];
    void change(int *p,int n,int m);
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
    p=&a[0];
    change(p,n,m);
    printf("%d",*p);
    for(i=1;i<n;i++)
    printf(" %d",*(p+i));
    putchar('\n');
}
void change(int *p,int n,int m)
{
    int i;
    for(i=n-1;i>=0;i--)
    *(p+i+m)=*(p+i);
    for(i=0;i<m;i++)
    *(p+i)=*(p+i+n);
}
void main()
{
	int i,j,k,m,n,a[100]={15, 3, 76, 67, 84, 87, 13, 67, 45, 34, 45};
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)      /* *(a+i)=rand() % 100; */
		scanf("%d",a+i);
//	for(i=0;i<n;i++)printf("%d ",*(a+i));	printf("\n");
	for(i=0;i<m;i++)
	{
		k=a[n-1];
		for(j=0;j<n-1;j++)a[n-1-j]=a[n-2-j];
		a[0]=k;
	}
	for(i=0;i<n-1;i++)printf("%d ",*(a+i));	printf("%d\n",a[i]);
}
int main(){
	int b[101];
    int *a=&b[0];
	int n,m,mid;
	cin>>n>>m;
	int i;
	for(i=0;i<n;i++)
		cin>>*(a+i);
	int *p=a;
	for(i=0;i<m;i++){
		mid=*(p+i);
		*(p+i)=*(p+i+n-m);
		*(p+i+n-m)=mid;
	}                      //??m????m????
	for(i=0;i<m;i++){
		mid=*(a+n-1);
		p=(a+n-1);
		while(*p!=*(a+m)){
		*p=*(p-1);
		p--;
		}
		*(a+m)=mid;           //???????m?
	}
	cout<<*a;
	for(i=1;i<n;i++)
		cout<<" "<<*(a+i);
	return 0;
}
int main(){
	int n,m;
	cin>>n>>m;
	int mat[n];
	for(int i=0;i<n;i++){
		cin>>*(mat+i);
	}

	for(int k=0;k<m;k++){
		int swap=*mat;
		*mat=*(mat+n-1);
		for(int i=n-2;i>0;i--){
			*(mat+i+1)=*(mat+i);
		}
		*(mat+1)=swap;
	}

	for(int i=0;i<n-1;i++){
		cout<<*(mat+i)<<" ";
	}
	cout<<*(mat+n-1);
}
int main()
{
	int a[101],b[101],n,i,m;
	cin>>n>>m;
	for(i=1;i<=n;i++)//????
	{cin>>a[i];}
	for(i=n-m+1;i<=n;i++)//???????
	{b[i-n+m]=a[i];}
	for(i=n-m;i>=1;i--)//??????
	{a[m+i]=a[i];}
	for(i=1;i<=m;i++)//???m???
	{a[i]=b[i];}
	for(i=1;i<n;i++)//????
	{cout<<a[i]<<" ";}
	cout<<a[n];
	return 0;
}
void main()
{
	int a[1000];
	int n,m,i;
	scanf("%d %d",&n,&m);
	i=1;
	while(i<=n)
	{	
		scanf("%d",&a[i]);
		i=i+1;
	}
	i=1;
	while(i<=n-m)
	{	
		a[n+i]=a[i];
		i=i+1;
	}
	i=(n-m)+1;
	while(i<=n+(n-m))
	{
		a[i-(n-m)]=a[i];
		i=i+1;
	}
	printf("%d",a[1]);
	i=2;
	while(i<=n)
	{	
		printf(" %d",a[i]);
		i=i+1;
	}
}
int main(){
	int n,m,i,k,sz[101];
	scanf("%d %d",&n,&m);
    
	for(i=m;i<n+m;i++){
		scanf("%d",&sz[i]);
	}
	i=n;
	k=0;
	while(i<n+m){
		sz[k]=sz[i];
		k++;
		i++;
	}
	for(i=0;i<n-1;i++){
		printf("%d ",sz[i]);
	}
         printf("%d",sz[n-1]);
return 0;
}
void main()
{
	int n,i,m;
	long a[200];
	scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
scanf("%ld ",&a[i]);
for(i=n-1;i>=0;i--)	
	a[i+m]=a[i];
for(i=0;i<m;i++) a[i]=a[i+n];
printf("%ld",a[0]);
for(i=1;i<n;i++)
printf(" %ld",a[i]);
}
/**
* @file 1000010424_6.cpp
* @author ???
* @date 2010?12?8
* @description
* ??????: ????     
*/



void move(int*, int, int);									//???????

int main()
{
	int num[100], n, m;										//???????????????
	int i;													//?????

	cin >> n >> m;

	for(i = 0; i < n; i++)
		cin >> num[i];

	move(num, n, m);										//??? 

	for(i = 0; i < n; i++)
		if(i == 0)
			cout << num[i];
		else
			cout << ' ' << num[i];

	cout << endl;

	return 0;
}

void move(int *num, int n, int m)
{
	int temp = *(num + n - 1);								//???????
	int i;

	for(i = n - 2; i >= 0; i--)
		*(num + i + 1) = *(num + i);						//???

	*num = temp;											//??????
	m--;

	if(m == 0)
		return;
	else
		move(num, n, m);
}
/*
 * 00090.cpp
 *???11.1
 *  Created on: 2011-12-6
 *      Author:???
 */


int main()
{
	int n,m,i=0;
	cin>>n>>m;
	int a[n+m];
	for(i=0;i<n;i++)
		cin>>a[i];
	int *p1=a+n-1; int *p2=a+n+m-1;
	for(;p1>=a;p1--,p2--){
		*p2=*p1;
	}
	for(p1=a+n+m-1;p2>=a;p1--,p2--)
		*p2=*p1;
	for(p1=a;p1<a+n-1;p1++)
		cout<<*p1<<' ';
	cout<<*p1;
	return 0;
}
int main(){
	int N,m,temp;
	cin>>N>>m;
	const int n=N;
	int a[n];
	int *p=a;
	for(int i=0;i<=n-1;++i)
		cin>>*(p+i);
	for(int k=1;k<=m;++k){
		temp=*(p+n-1);
		for(int i=n-2;i>=0;--i)
			*(p+i+1)=*(p+i);
		*p=temp;
	}
	for(int i=0;i<=n-1;++i){
		if(i!=n-1) cout<<*(p+i)<<' ';
		else cout<<*(p+i);
	}
	return 0;
}
void main()
{
	int a,b,c[1000],i,j,*p,t,m;
	scanf("%d %d",&a,&b);
	for(i=0;i<a;i++)
    scanf("%d",&c[i]);
	for(j=0;j<b;j++)
	{
		p=c;
	for(i=1,t=c[0];i<a;i++)
	{
		m=*(p+i);
		*(p+i)=t;
		t=m;
	}
     c[0]=t;
	}
	printf("%d",c[0]);
	for(i=1;i<a;i++)
    printf(" %d",c[i]);
	printf("\n");
}
int main ( )
{
	int n, m, i, j, t, a[100];    /*????????*/
	cin >>n >>m;
	for (i = 0;i < n;i++)         /*???????????????*/
		cin >>a[i];
	for (i = 0;i < m;i++)         
	{
		t = a[i];
		a[i] = a[n-m+i];          /*?m???????????????????*/
		for (j = n-m+i;j > i;j--) /*?n-m????????*/
		{
			if (j == i + 1)
				a[j] = t;
			else a[j] = a[j-1];
		}
	}
	for (i = 0;i < n;i++)
	{
		if (i == 0)
			cout <<a[i];
		else cout <<' '<<a[i];
	}
	return 0;
}
/*
 * m,n.cpp
 *
 *  Created on: 2011-12-11
 *      Author: FXD
 */
int main()
{
	int a[1000],n,m,i,j,t;
	int*p=NULL,*q=NULL,*r=NULL,*s=NULL,*x=NULL,*y=NULL;
	cin>>n>>m;
	for(i=0;i<n;i++)
	{
		cin>>a[i];
	}
	p=&a[0];
	q=&a[n-1];
	for(i=0,j=n-1;i<j;i++,j--)
	{
		t=*q;
		*q=*p;
		*p=t;
		p++;
		q--;
	}
	r=&a[0];
	s=&a[m-1];
	for(i=0,j=m-1;i<j;i++,j--)
	{
		t=*s;
		*s=*r;
		*r=t;
		r++;
		s--;
	}
	x=&a[m];
	y=&a[n-1];
	for(i=m,j=n-1;i<j;i++,j--)
	{
		t=*y;
				*y=*x;
				*x=t;
				x++;
				y--;
	}
	for(i=0;i<n-1;i++)
	{
		cout<<a[i]<<' ';
	}
	cout<<a[n-1]<<endl;
	return 0;

}
void main()
{
  void move(int array[],int x,int y);
  int num[120];
  int i,m,n;
  scanf("%d %d",&n,&m);
  for(i=0;i<n;i++)
  {
    if(i==n-1)
    scanf("%d",&num[i]);
    else scanf("%d ",&num[i]);
   }
   move(num,n,m);
   for(i=0;i<n;i++)
   {
     if(i==n-1)
     printf("%d",num[i]);
     else printf("%d ",num[i]);
    }
    printf("\n");
}
 void move(int array[],int x,int y)
{
  int *p,array_end;
  array_end=*(array+x-1);
  for(p=array+x-1;p>array;p--)
  *p=*(p-1);
  *array=array_end;
  y--;
  if(y>0)
  move(array,x,y);
}
int main(){
    int n,m,i;
    int s[100];
    scanf("%d %d",&n,&m);
    getchar();
    for(i=0;i<n;i++){
         scanf("%d",&(s[i]));
         getchar();
    }
    for(i=n-m;i<n;i++){
         printf("%d ",s[i]);
         getchar();
    }
    for(i=0;i<n-m-1;i++){
         printf("%d ",s[i]);
         getchar();
    }
    i=n-m-1;
    printf("%d",s[i]);
    return 0;
}
int main(int argc, char* argv[])
{
	int n,m,i,j;
	scanf("%d%d",&n,&m);

	int *x;
	x=(int *)malloc(sizeof(int)*n);
	for(i=0;i<n;i++){
		scanf("%d",x+i);
	}
	if(m==0){
		for(i=0;i<n;i++){
			if(i==n-1){
			printf("%d",*(x+i));
			break;
			}
		printf("%d ",*(x+i));
		}
		return 0;
	}
	int atmp;
	for(j=1;j<=m;j++){
		int tmp=(*(x));
		for(i=0;i<n-1;i++){
			atmp=(*(x+i+1));
			*(x+i+1)=tmp;
			tmp=atmp;
		}
		*x=tmp;
	}
	for(i=0;i<n;i++){
		if(i==n-1){
			printf("%d",*(x+i));
			break;
		}
		printf("%d ",*(x+i));
	}

	free(x);
	return 0;
}
int main(){ //?????
	int m,n; //??n,m
	cin>>n>>m;
	int a[100],i;
	for(i=0;i<n;i++) //??n??
		cin>>a[i];
	int j,temp;
	for(j=0;j<m;j++)
	{
		temp=*(a+(n-m+j));
		for(i=n-m+j-1;i>=j;i--)
			*(a+(i+1))=*(a+i);
		*(a+j)=temp;
		temp=0;
	} //????m????
	for(i=0;i<n-1;i++)
		cout<<*(a+i)<<" ";
	cout<<*(a+(n-1))<<endl;
	return 0;
} //????
int main()
{ int n,q;
  scanf("%d %d",&n, &q);
  int sz[100];

  for(int m=0;m<n;m++){
	  scanf("%d ",&(sz[m]));
  }



  for (int i=0;i<q;i++){

	  int e;
	  e=sz[n-1];

    for (int j=n-2;j>=0;j--){
         sz[j+1]=sz[j];
  }
	  sz[0]=e;
  }


  for (int w=0;w<n-1;w++){
    printf("%d ",sz[w]);
  }
printf( "%d" , sz[ n - 1 ] );

  return 0;
}
/************************************
 * ????							*
 *									*
 *  Created on: 2010-12-14			*
 *      Author: ??					*
 ************************************/
void move(int *p,int m,int n)		//???????????
{
	int a;
	a=*(p+m-1);						//?????????????a?
	for(int i=m-1;i>0;i--)
	{
		*(p+i)=*(p+i-1);			//??????????
	}
	*p=a;
}
int main()
{
	int a,b;
	cin>>a>>b;						//???????????
	const int a1=a;
	int num[a1];
	for(int j=0;j<a;j++)
	{
		cin>>num[j];				//????
	}
	while(b>0)
	{
		move(&num[0],a,b);			//??????
		b--;
	}
	cout<<num[0];
	for(int j=1;j<a;j++)
	{
		cout<<" "<<num[j];			//????
	}
	return 0;
}
void main()
{
	int n,m,a[100],k,t,u,i,h;
	scanf("%d %d",&n,&m);
    scanf("%d",&a[0]);
	for(k=1;k<=n-1;k++)
		scanf(" %d",&a[k]);
	if (m==1)
	{
		printf("%d",a[n-m]);
	for(i=0;i<=n-2;i++)
		printf(" %d",a[i]);
        printf("\n");
	}
	else if (m==n)
	{
		printf("%d",a[0]);
		for(t=1;t<=n-1;t++)
			printf(" %d",a[t]);
		printf("\n");
	}
	else 
	{
		printf("%d",a[n-m]);
		for(h=n-m+1;h<=n-1;h++)
			printf(" %d",a[h]);
		for(u=0;u<=n-m-1;u++)
			printf(" %d",a[u]);
	}
	printf("\n");
}
void last_to_first (int *point,int lenth_of_n);

void main ()
{
	int num[100];
	int n,m;
	int i;
	int *point=num;

	scanf("%d %d",&n,&m);

	for(i=0;i<n;i++)
	{
		scanf("%d",point);
		point++;
	}

	for(i=0;i<m;i++)
	{
		last_to_first (num,n);
	}

	point=num;
	for(i=0;i<n;i++)
	{
		if(i!=0) printf(" ");
		printf("%d",*point);
		point++;
		
	}

}

void last_to_first (int *point,int lenth_of_n)
{	
	int last;
	int i;
	point=(point+lenth_of_n-1);
	last=*point;

	for (i=1;i<lenth_of_n;i++)
	{
		*(point)=*(point-1);
		point=point-1;
	}

	*point=last;
}
int main()
{
    int m, n, i, j;
    int a[200] = {0};
    cin >> n >> m;
    for(i = 0; i < n; i++)
        cin >> *(a + i);
    for(i = n - 1; i >= 0; i--)
        *(a + i + m) = *(a + i);
    for(i = n, j = 0; i < n + m, j < m; i++, j++)
        *(a + j)= *(a + i);
    for(i = 0; i < n - 1; i++)
        cout << *(a + i) << " ";
        cout << *(a + n - 1) << endl;

    return 0;
}
void order(int m,int n)
{  int i,s[100];
  for(i=0;i<m;i++)
  scanf("%d",&s[i]);
  for(i=m-n;i<m;i++)
  printf("%d ",s[i]);
  for(i=0;i<m-n-1;i++)
  printf("%d ",s[i]);
  printf("%d",s[i]);
}
main()
{ int a,b;
  scanf("%d %d",&a,&b);
  order(a,b);
}
struct n
{
	int pi;
	struct n * next;
}num[100];
void main()
{
	int a[100],i,n,m;
	struct n *p;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++)
	{
		num[i].pi=a[i];
	}
	for(i=0;i<n-1;i++)
	{
		num[i].next=&num[i+1];
	}
	num[n-1].next=&num[0];
	p=&num[n-m];
	for(i=0;i<n-1;i++)
	{
		printf("%d ",p->pi);
		p=p->next;
	}
	printf("%d\n",p->pi);
}
void diaohuan(int *a,int m,int n);
main()	
{
	int m,n,i,a[10000];
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++) scanf("%d",&a[i]);
	diaohuan(a,m,n);
	printf("%d",a[0]);
         for(i=1;i<n;i++) printf(" %d",a[i]);
}
void diaohuan(int *a,int m,int n)
{
	int *i;	
	for(i=a;i<a+n-m;i++) *(i+n)=*i;
	for(i=a;i<a+n;i++) *i=*(i+n-m);
}
int main()
{
 int i,a[10000],n,m;
 scanf("%d %d",&n,&m);
 for(i=0;i<n;i++)
  scanf("%d",&a[i]);
 for(i=n-m;i<2*n-m-1;i++)
  printf("%d ",*(a+i%n));
 printf("%d",*(a+n-m-1)); 
 getchar();
 getchar();
 return 0;    
}
int m=0;
int main()
{
	int * change(int x[100],int y,int z);
	int a[100];
	int n,m,i;
	int *pt;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	pt=change(a,n,m);
	printf("%d",*pt);
	for(i=1;i<n;i++)
	{
		printf(" %d", *(pt+i));
	}
}
int * change(int x[100],int y,int z)
{
	int j,k,temp=0;
	for(j=0;j<z;j++)
	{
		temp=x[y-1];
		for(k=y-2;k>=0;k=k-1)
		{
			x[k+1]=x[k];
		}
		x[0]=temp;
	}
	return(x);
}
int main()
{
int n,m,i,j;
int a[1000]={0};
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=n+m-1;i>=m;i--)
a[i]=a[i-m];
for(i=0;i<=m-1;i++)
a[i]=a[i+n];
for(i=0;i<n;i++)
{printf("%d",a[i]);
if(i!=n-1) printf(" ");
}
return 0;
}
void main()
{
	int n,m,i,j,t,k;
	int a[100];
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(k=n-m;k<n;k++)
	{
		for(j=0,i=k;j<n-m;j++,i--)
	{
		t=a[i];
		a[i]=a[i-1];
		a[i-1]=t;
	}
	}
	for(i=0;i<n-1;i++)
		printf("%d ",a[i]);
	printf("%d",a[n-1]);
}
void main()
{
	int a[200];int i,j,k;
	int n,m;
	scanf("%d%d",&n,&m);
	for(i=0;i<=n-1;i++)
	{scanf("%d",&a[i]);}
	for(j=n;j<=2*n-1;j++)
	{a[j]=a[j-n];}
	printf("%d",a[n-m]);
	for(k=n-m+1;k<=2*n-1-m;k++)
	{printf(" %d",a[k]);}
	printf("\n");
}
int main()
{
	int n,m,i;
	scanf("%d%d",&n,&m);
	
	int * p,* h;
	p=(int *)malloc(sizeof(int)*n);
	h=p;
	for(i=0;i<n;i++)
	{
		scanf("%d",p);
		p++;
	}
	p=h;
	for(i=n-m;i<n;i++)
	{
		printf("%d ",*(p+i));
	}
	for(i=0;i<n-m-1;i++)
		printf("%d ",*(p+i));
	printf("%d",*(p+n-m-1));
	free(p);
	return 0;
}
void main()
{
	int m,n,i,j,x;
	int *p1,*p2;
	int a[100];
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	p1=&a[n-m];p2=&a[0];
	for(x=0;x<m;x++)
		printf("%d ",*(p1+x));
	for(j=0;j<=n-m-2;j++)
		printf("%d ",*(p2+j));
	printf("%d",*(p2+n-m-1));
}
void main()
{
	int n,m,a[200],*p;
	scanf("%d %d",&n,&m);
	for(p=a;p<a+n;p++)
	{
		scanf("%d",p);
	}
	p=a;
	for(p=a;p<&a[n-m];p++)
	{
		*(p+n)=*p;
	}
	for(p=a;p<&a[n];p++)
	{
		*p=*(n-m+p);
	}
	for(p=a;p<&a[n];p++)
	{
		if(p==a)
		{
			printf("%d",*p);
		}
		else
		{
			printf(" %d",*p);
		}
	}
}
void main(){

    int a[MAX];

	int n,m,i,temp;




	int flag,istart,iend,length;

        	scanf("%d%d",&n,&m);
	//????
	for(i=0;i<n;i++)
		 scanf("%d",&a[i]);

	  
	temp=n-m;
	if(n-m>m) 
	{
		flag=0;/*<------*/
		length=m;
		istart=0;
		iend=n-1;
	}
	else
	{
		flag=1; /*----->*/
		length =n-m;
		istart=0;
		iend=n-1;
	}


	while (length>1) {


         /*
		 ??a[temp....temp+
		 swap(a,startpos,length);
		 */
		if( flag==0 ) 
		{
			 i=iend-length-length+1;
			 for(;i<iend-length+1;i++)
			 {
			   //???2*length

			   temp=a[i];
			   a[i]=a[i+length];
			   a[i+length]=temp;

			 }
			 iend=iend-length;


			 /*??????????*/

			 if(iend-length+1<= istart+length-1)

			 {
				 flag=1;
				 length=iend-length+1-istart;
			 }

		} else {/**flag==1**/

             i=istart;
			 for(;i<istart+length;i++)
			 {
			   //???2*length

			   temp=a[i];
			   a[i]=a[i+length];
			   a[i+length]=temp;

			 }
			 istart=istart+length;

			 /*??????????*/
			 if(iend-length+1<= istart+length -1)

			 {
				 flag=0;
				 length=iend-length+1-istart;
			 }


		}

		 
        

	




	} //end while



 	if(length==1)

	{
 
		if(flag==0){
              temp=a[iend];
			  for(i=iend;i>istart;i--)
			  {
                a[i]=a[i-1];
			  }
			  a[istart]=temp;

		} else {
               temp=a[istart];
			  for(i=istart;i<iend;i++)
			  {
                a[i]=a[i+1];
			  }
			  a[iend]=temp;

		}

	}

	for(i=0;i<n-1;i++)
		 printf("%d ",a[i]);

            
	printf("%d",a[i]);














}
void yidong(int a1[],int len)
{
	int j,temp;
	for(j=1;j<len;j++)
	{
		temp=a1[j];
		a1[j]=a1[0];
		a1[0]=temp;

	
	}

	return;
}
int main()
{
	int n,m,i;
	int a[1000];
	scanf("%d %d",&n,&m);
	scanf("%d",&a[0]);
	for(i=1;i<n;i++)
	{
		scanf(" %d",&a[i]);
	}
	for(i=0;i<m;i++)
	{
		yidong(a,n);
	}
	printf("%d",a[0]);
	for(i=1;i<n;i++)
		printf(" %d",a[i]);
	return 0;
}
void main()
{
	void move(int a[100],int n,int m);
	int n,m,i,a[100];
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	move(a,n,m);
	for(i=0;i<n-1;i++)
		printf("%d ",a[i]);
	printf("%d\n",a[n-1]);
}

void move(int a[100],int n,int m)
{
	int i,d;
	d=a[n-1];
	for(i=n-1;i>0;i--)
		a[i]=a[i-1];
	a[0]=d;
	m--;
	if(m>0) move(a,n,m);
}
void main()
{
	int a[100],*p;
	int n,m,i,j,temp;
	scanf("%d",&n);
	scanf("%d",&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(j=1;j<=m;j++)
	{
	for(i=1;i<n;i++)
	{
		p=&a[n-i];
		temp=*p;
		p=&a[n-1-i];
		a[n-i]=*p;
		*p=temp;
	}
	}
	for(p=a,i=0;i<n;p++,i++)
	{
		printf("%d",*p);{
	if(i<n-1) printf(" ");
	else break;}
}
}
int main()
{
	int m,N,i;
	int *s;
	scanf("%d%d",&N,&m);
		
	s=(int*)malloc(sizeof(int)*N);
	for(i=m;i<N;i++){
		scanf("%d",&s[i]);
	}
	for(i=0;i<m;i++){
		scanf("%d",&s[i]);
	}
	for(i=0;i<N;i++){
if(i<N-1){printf("%d ",s[i]);}
else{printf("%d",s[i]);}
	}
	return 0;
}
int main()
{
	int n,i,k;
	int a[100],b[100];
	scanf("%d%d",&n,&k);
	for(i=0;i<=(n-1);i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<=(n-1);i++)
	{
		if(i<=(n-1-k))
		{
			b[i+k]=a[i];
		}
		else
		{
			b[i+k-n]=a[i];
		}
	}
	for(i=0;i<=(n-1);i++)
	{
		if(i==0)
		printf("%d",b[0]);
		else 
	    printf(" %d",b[i]);
	}
}
main()
{
	int a[10000],*b,n,m,i,j;
	scanf("%d""%d",&n,&m);
	for(i=0;i<=n-1;i++)
	{
		scanf("%d",&a[i]);
	}
	b=&a[0];
	for(i=n-m;i<=n-1;i++)
	{
		printf("%d ",*(b+i));		
	}
	for(i=0;i<=n-m-1;i++)
	{
		printf("%d",*(b+i));
		if(i!=n-m-1) printf(" ");
	}

}
/*??5 ??
  ?? ????
  ?? ??? ?? 1300012989*/
int main()
{
	int a[201],n,m,i;
	cin>>n>>m;
	for(i=1;i<=n;i++)//????
		cin>>a[i];
	for(i=1;i<=n-m;i++)//??m???n?m?
		a[n+i]=a[i];
	for(i=1;i<=m;i++)//??m????m?
		a[i]=a[n-m+i];
	for(i=1;i<=n-m;i++)//
		a[m+i]=a[n+i];
	for(i=1;i<=n-1;i++)
		cout<<a[i]<<' ';
	cout<<a[n]<<endl;
	return 0;
}
int main()
{
	int m,n,a[10000],i=0;
	cin>>n>>m;
	for(i=0;i<n;i++)
	{
		cin>>a[i];
	}
	i=n-m;
	for(i=n-m;i<n;i++)
	{
			cout<<a[i]<<" ";
	}
	i=0;
	for(i=0;i<n-m-1;i++)
	{
		cout<<a[i]<<" ";
	}
	if(i=n-m-1)
		cout<<a[i];
	return 0;
}
int main()
{
	int i,n,m,a[100];
	int *p1,*p2,*p3,*p4;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	p1=&a[0];
	p4=p2=&a[n-m];
	p3=&a[n-1];
	printf("%d",*p2);
	p2++;
	for(;p2<=p3;p2++)
	{
		printf(" %d",*p2);
	}
	for(;p1<p4;p1++)
	{
		printf(" %d",*p1);
	}
 	return 0;
}
int main()
{
	int sz1[1000];
	int sz2[1000];
	int n,m;
	scanf("%d %d",&n,&m);
	for(int i=0;i<n;i++)
	{
		scanf("%d",&sz1[i]);
	}
	for(int j=0;j<n;j++)
	{
		if(j<m)
		{
			sz2[j]=sz1[n-m+j];
		}
		else if(j>=m)
		{
			sz2[j]=sz1[j-m];
		}
	}
	for(int k=0;k<n-1;k++)
	{
		printf("%d ",sz2[k]);
	}
printf("%d",sz2[n-1]);
	return 0;
}
void main()
{
	void f(int *p,int n,int m);
	int n,m,num[100],i;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&num[i]);
    f(num,n,m);
	for(i=0;i<n;i++)
	{
		if(i==0)
			printf("%d",num[i]);
		else
			printf(" %d",num[i]);
	}
	printf("\n");
}
void f(int *p,int n,int m)
{
	int *q,b;
	q=p;
	b=*(p+n-1);	
	for(q=p+n-1;q>p;q--)
		*q=*(q-1);
	*q=b;
	m--;
	if(m>0)
		f(p,n,m);

}
void main()
{
	int i,n,m,*p;
	scanf("%d%d",&n,&m);
	p=(int *)malloc(n*sizeof(int));
	for(i=0;i<n;i++)
		scanf("%d",p+i);
	for(i=n-m;i<n;i++)
		printf("%d ",*(p+i));
	for(i=0;i<n-m-1;i++)
		printf("%d ",*(p+i));
	printf("%d\n",*(p+i));
}
void f(int a[],int n,int m,int i)
{
	if(i==n)
		return;
	int c,j;
	if(i<m)
		j=n-m+i;
	else
		j=i-m;
	c=a[j];
	f(a,n,m,i+1);
	a[i]=c;
	return;
}
void main()
{
	int a[100],n,m,i;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	f(a,n,m,0);
	for(i=0;i<n-1;i++)
		printf("%d ",a[i]);
	printf("%d",a[i]);
}
/********************************************
 *@file   1.cpp                             *
 *@author ??                              *
 *@date   2013-12-13                        *
 *@description                              *
 *??????12?????                  *
 ********************************************
 */
int main()
{
	int n, m, num[110], i, *p = NULL;
	cin >> n >> m;
	for (i = 0; i < n; i++)
		cin >> num[i];
	p = num;
	p += n + m - 1; // ??????
	for (i = 0; i < n; i++)
		*(p--) = *(p - m);
	for (i = 0; i < m; i++)
		*(p--) = *(p + n);
	for (i = 0; i < n; i++)
	{
		cout << num[i];
		if (i != n - 1)
			cout << ' ';
	}
	return 0;
}
int *p=NULL;
void rearrange(int str[100],int n)
{
	int t;
	t=str[n-1];
	for(p=&str[n-2];p>=&str[0];p--)
	{
		*(p+1)=*p;
	}
	str[0]=t;
}
int main()
{
	
	int number[100];
	int n,m;
	cin>>n>>m;
	int i;
	for(i=0;i<n;i++)
		cin>>number[i];
	while(m--)
	{
		rearrange(number,n);
	}
	for(i=0;i<n-1;i++)
		cout<<number[i]<<" ";
	cout<<number[n-1];
    return 0;
}
void main()
{
	int n,m,i;
	int a[100];
	int b[100];
    scanf("%d%d",&n,&m);
	for(i=0;i<=n-1;i++)
		scanf("%d",&a[i]);
	for(i=0;i<=n-m-1;i++)
		b[i+m]=a[i];
	for(i=n-m;i<=n-1;i++)
		b[i-n+m]=a[i];
	for(i=0;i<=n-1;i++)
		a[i]=b[i];
	printf("%d",a[0]);
	for(i=1;i<=n-1;i++)
		printf(" %d",a[i]);
}