semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void main()
{
	int n,m,i,temp;
	int a[100];
	int *p;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	for(i=0;i<m;i++){
		temp=a[n-1];
		for(p=a+n-1;p>a;p--){
			*p=*(p-1);
		}
		a[0]=temp;
	}
	for(i=0;i<n-1;i++){
		printf("%d ",a[i]);
	}
	printf("%d\n",a[n-1]);

}
int main()
{
	int shu[200];
	int n,m,i,a;
	scanf("%d%d",&n,&m);
  	for(i=0;i<n;i++)
	{
		scanf("%d",&a);
		shu[i]=a;
	}
  	for(i=100;i<100+m;i++)
	{
		shu[i]=shu[n-m+i-100];
		printf("%d ",shu[i]);
	}
  	for(i=100;i<100+n-m-1;i++)
	{
		shu[m+i]=shu[i-100];
		printf("%d ",shu[m+i]);
	}
	printf("%d\n",shu[n-m-1]);
	return 0;
}
int main()
{
  int n,m,i,t;
  scanf("%d%d",&n,&m);
  int *p=(int *)malloc(n*sizeof(int));
  int *q=(int *)malloc(n*sizeof(int));
  for(i=0;i<n;i++)
  {
   scanf("%d",&p[i]);
   q[i] = i+1;
  }
  q[n-1] = 0;
  q[n-m-1] = n;
  t = n-m;
  while(1)
  {
    printf("%d",p[t]);
    t = q[t];        
    if(t == n) break;
    printf(" ");
  }
 return 0;    
}
trans(int a[],int m,int n)
{
	int temp;
	int i;
	if(m==1){
		temp=a[n-1];
		for(i=n-1;i>0;i--)
			a[i]=a[i-1];
		a[0]=temp;
	}
	else
	{
		trans(a,1,n);
		trans(a,m-1,n);
	}
	return 0;
}

		

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

	trans(a,m,n);
	
	printf("%d",a[0]);
	for(i=1;i<n;i++)
		printf(" %d",a[i]);
}
int main()
{
	int an[100];
	int n,m,i,x,y,k;
	scanf("%d%d",&n,&m);
	for (i=0;i<n;i++) scanf("%d",&an[i]);
	x=an[n-1];
	k=0;
	for (i=0;;i++)
	{
		if (i>n-1) {i=0;x=an[n-1];}
		else i=i;
		y=an[i];
		an[i]=x;
		x=y;
		k=k+1;
		if (k==m*n) break;
	}
	for (i=0;i<n-1;i++) printf("%d ",an[i]);
	printf("%d",an[i]);
	return 0;
}
int main()
{
    void move(int *pa,int m,int n);
    int a[110],*pa=a;
    int n,m,i,j;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
        scanf("%d",&*(pa+i));
    move(pa,m,n);
    for(i=0;i<n-1;i++)
    printf("%d ",*(a+i));
    printf("%d\n",*(a+n-1));
    getchar();
    getchar();
}
void move(int *a,int m,int n)
{
    int temp,i,j;
    for(i=n-m;i<n;i++)
    {
        for(j=i-1;j>=m-n+i;j--)
        {
            temp=*(a+j);
            *(a+j)=*(a+j+1);
            *(a+j+1)=temp;
        }
    }
}
int main()
{int i,n,m,a[101];
 cin>>n>>m;
 for(i=1;i<=n;i++)
  cin>>a[i];
 for(int i=1;i<=m;i++)
 {int temp=a[n];
  for(int k=n;k>=2;k--)
    a[k]=a[k-1];
  a[1]=temp;
 }
 for(i=1;i<n;i++)
 cout<<a[i]<<' ';
 cout<<a[i];
 return 0;
}
int main()
{
	int a,b,i;
	scanf("%d%d",&a,&b);
	int *pint;
	pint=(int*)malloc(sizeof(int)*a);
	for(i=0;i<a;i++)
	{
		scanf("%d",pint+i);
	}
	for(i=a-b;i<a;i++)
	{
		printf("%d ",*(pint+i));
	}
	for(i=0;i<a-b;i++)
	{
		printf("%d",*(pint+i));
		if(i!=a-b-1)
			printf(" ");
	}
	return 0;
}
int main()
{
    
	int a,c,b,d,n,m,i,x[1000],y[1000];
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++){
		scanf("%d",&x[i]);
		}
	for(i=1;i<=n-m;i++){
		y[i+m]=x[i];
	}
	
	for(i=n-m+1;i<=n;i++){
		y[i-n+m]=x[i];
	}
	for(i=1;i<=n;i++){
		if(i==1)printf("%d",y[i]);
		else printf(" %d",y[i]);
		}
		


}
int main()
{ int m=0,n=0,a[100]={0},i=0;
  int *p;
  void prt(int*p,int m,int n);
  p=a;
  scanf("%d %d",&n,&m);
  for(i=0;i<n;i++)
  { scanf("%d",p+i);
    }
  prt(p,m,n);
  for(i=0;i<n;i++)
  { printf("%d",a[i]);
    if(i<n-1) printf(" ");
  
  }
  getchar();
  getchar();
  return(0);
}
void prt(int*p,int m,int n)
{ int i=0,t=0,b[100]={0},j=0;
  for(i=n-m,j=0;i<n;i++,j++)
  { b[j]=*(p+i);
  }
  for(i=n-m-1,j=n-1;i>=0;i--,j--)
  {  *(p+j)=*(p+i);
  
  }
  for(i=0;i<m;i++)
  {  *(p+i)=b[i];
  
  }

}
int main()
{
	int i,n,m,num[100]={0};
	cin>>n>>m;
	for(i=0;i<n;i++)
		cin>>num[i];
	int temp=0;
	while(m--)
	{
		temp=num[n-1];
		for(i=n-1;i>=0;i--)
			num[i+1]=num[i];
		num[0]=temp;
	}
	cout<<num[0];
	for(i=1;i<n;i++)
		cout<<' '<<num[i];
	return 0;
}
void main() 
{
	int a[100],i,n,m,b[100],j;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		b[i]=a[i];
	}
	for(i=n-1;i>=0;i--)
		a[i+m]=a[i];
	for(i=0;i<m;i++)
		a[i]=b[i+n-m];
	for(i=0;i<n;i++)
	{
		if(i==n-1)
		{
			printf("%d",a[i]);
			break;
		}
		printf("%d ",a[i]);
	}
}
int main()
{
	int i,j,n,m,a[102],*p=NULL;
	cin>>n>>m;
	for(i=0;i<n;i++)
		cin>>a[i];
	for(i=0;i<m;i++)
	{
		p=&a[n-1];				//??????????
		for(j=0;j<n;j++)		//???????
		{
			*(p+1)=*p;			//????
			p-=1;
		}
		a[0]=a[n];				//?????a[0]
		a[n]='\0';				//???
	}
	for(i=0;i<n-1;i++)
		cout<<a[i]<<" ";
	cout<<a[n-1];
	return 0;
}
int main()
{
	int t[105];
	int n,m;
	int *tt[105];//????>_< 
	scanf("%d%d",&n,&m);
	for(int i = 1;i <= n;i ++){
		scanf("%d",&t[i]);
		tt[i] = &t[i];//??? 
	}
	for(int i = 1;i <= m;i ++){
		int p = *tt[n];
		for(int j = n;j >= 2;j --)
			*tt[j] = *tt[j-1];//??????= = 
		*tt[1] = p;
	}
	printf("%d",t[1]);
	for(int i =2;i <= n;i ++) printf(" %d",t[i]);
	printf("\n");
	return 0;
}
int main()
{
 int a[1000],*p,i,j,n,m,k;
 scanf("%d%d",&n,&m);
 for( i = 0 ;i < n;i ++ )
 scanf("%d",&a[i]);
  p=&a[0];
  k = n - m % n;
 while(m--)
 {
    printf("%d ",*(p +n-m-1)  );
 }
 for( j = 0;j < k-1;j++ )
  {
    printf("%d ",*(p+j));
  }    
  printf("%d",*(p+k-1));

}
struct num
	{
		int a;
		struct num *next;
	};
void main()
{
	struct num *head,*p1,*p2;
	int n,i,m;
	scanf("%d%d",&n,&m);
	p1=(struct num *)malloc(sizeof(struct num));
	scanf("%d",&p1->a);
	head=p1;
	p2=head;
	for(i=1;i<n;i++)
	{
		p1=(struct num *)malloc(sizeof(struct num));
		scanf("%d",&p1->a);
		p2->next=p1;
		p2=p2->next;
	}
	p1->next=head;
	for(i=0;i<=n-m;i++)
	{
		p2=p2->next;
	}
	for(i=1;i<n;i++)
	{
		printf("%d ",p2->a);
		p2=p2->next;
	}
	printf("%d",p2->a);
}
/*
 * xunhuanyidong.cpp
 *  ????
 *  Created on: 2012-12-10
 *      Author: ???   1200012899
 */
int main ()
{
	int a[100],b[100];
	int n,m;
	cin>>n>>m;
	for(int i=0;i<n;i++)
		{cin>>*(a+i);
		*(b+i)=*(a+i);
		}
	for(int j=0;j<n;j++)
	{
		a[(j+m)%n]=b[j];
	}
	for(int i=0;i<n;i++)
		{
		if(i==0)
		cout<<*(a+i);
		else cout<<" "<<*(a+i);
		}
	return 0;
}
struct shu
{
	int num;
	struct shu *next;
} shu[100];
int main()
{
	struct shu *head, *p;
	int n,m,i;
	scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
		scanf("%d",&shu[i].num);

    head=&shu[n-m];
	for(i=n-m;i<n;i++)
		shu[i].next=&shu[i+1];
	shu[n-1].next=&shu[0];
	for(i=0;i<n-m-1;i++)
		shu[i].next=&shu[i+1];
    shu[n-m-1].next=NULL;

	p=head;
	{ 
		printf("%d",p->num);
	    	p=p->next;
	   do
	   {
		    printf(" %d",p->num);
	    	p=p->next;
	   }while(p!=NULL);
	}

	 printf("\n");
}
int main(){
	int *p,*q,m,n,i;
	scanf("%d %d",&n,&m);
	int dk[100];
	for(i=0;i<n;i++){
		scanf("%d",&(dk[i]));
	}
	p=dk;
	q=&dk[n-m];
	for(i=0;i<m;i++){
		printf("%d ",*(q));
		q++;
	}
	for(i=0;i<n-m-1;i++){
     printf("%d ",*(p));
	 p++;
	}
	printf("%d",*(p));
	return 0;
}
void main()
{
	int i,n,m,*a;
	scanf("%d%d",&n,&m);
	a=(int*)calloc(n+m,sizeof(int));
	a+=m;
	for(i=0;i<n;i++)scanf("%d",a++);
	for(i=0;i<m;i++)a--,*(a-n)=*a;a-=n;n--;
	for(i=0;i<n;i++)printf("%d ",a[i]);
	printf("%d",a[n]);
}
int main()
{
int n,m,i,j,*p,*t,a[100],temp;
cin>>n>>m;                                  //??????????? 
for(i=0,p=a;i<n;i++,p++)
  cin>>*p;                                 //???????? 
p=a+n-m-1;                                 //??????? 
for(i=n-m-1;i>=0;i--,p--)
{
  for(t=a+i+1,j=i+1;j<i+m+1;j++,t++)       //??????? 
    {
       temp=*(t-1);
       *(t-1)=*t;
       *t=temp;                         
    }
}
for(i=0;i<n;i++)                            //??????? 
{
  cout<<*(a+i);
  if(i!=n-1)
    cout<<' ';
} 
return 0; 
}
int main()
{
	int m,n,i;
	int a[128];
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<n-1;i++)
	{
		printf("%d ",a[(i+n-m)%n]);
	}
	printf("%d",a[n-m-1]);
	return 0;
}
int main()
{
  int m,n,i,j,k;
  scanf("%d %d",&m,&n);
  int a[m+n];
  scanf("%d",&a[n]);
  for(i=1;i<m;i++)
  scanf(" %d",&a[n+i]);
   for(i=0;i<n;i++)
  a[i]=a[m+i];
  printf("%d",a[0]);
   for(i=1;i<m;i++)
 printf(" %d",a[i]);
return 0;
}
void main()
{
	int a[100],n,m,i;
	int* p;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++){
		if(i>=n-m){p=a;scanf("%d",p+i-n+m);}
		else {p=a+m;scanf("%d",p+i);}
	}
	for(i=0;i<n;i++)printf("%d%c",*(a+i),i==n-1?'\n':' ');
}
void main()
{
	int n,a[100],i,m;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++)
	{
		if(i<m)
		printf("%d ",a[n-m+i]);
		else if(i<n-1)
		printf("%d ",a[i-m]);
		else
		printf("%d",a[n-1-m]);
	}
}
void main()
{
	int a[100],m,n,i;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",a+i);
	}
	int temp,j;
	for(j=0;j<m;j++)
	{
		temp=*(a+n-1);
		for(i=n-1;i>=0;i--)
		{
			*(a+i)=*(a+i-1);
		}
		*a=temp;
	}
	for(i=0;i<n;i++)
	{
		if(i<n-1)
			printf("%d ",*(a+i));
		else printf("%d",*(a+i));
	}
}
int main()
{
    int i,j,k,m,n,a[100];
    int *p;
    p=a;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
    p=p+n-m;
    for(i=0;i<m;i++)
      printf("%d ",*(p+i));
      p=a;
      for(i=0;i<n-m-1;i++)
      printf("%d ",*(p+i));
      printf("%d",*(p+i));
      return 0;
}
int main()
{

	int input[100]={0};
	int *stop, *cut;
	int n, m;

	cin>>n>>m;
	for(int i=0; i<n; i++)
	{
		cin>>input[i];
	}

	cut=input;
	stop=input+n-m;


	for(int i=0; i<m; i++)
	{
		cout<<*(stop++)<<" ";
	
	}

	
	for(int i=0; i<n-m; i++)
	{
		cout<<*(cut++);
		if(i!=(n-m-1))
			cout<<" ";
	
	}

	

return 0; 
}
void inv(int[],int,int);
void main()
{
    int a[100],n,m,i,*p=a;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
        scanf("%d",p++);
    p=a;inv(p,n,m);
    for(i=0;i<n-1;i++)
        printf("%d ",*(p+i));
    printf("%d",*(p+n-1));
}
void inv(int p[],int n,int m)
{
    int b[100],i;
    for(i=0;i<n-m;i++)
        b[i]=p[i];
    for(i=n-m;i<n;i++)
        p[i-n+m]=p[i];
    for(i=0;i<n-m;i++)
        p[i+m]=b[i];
}
int main(int argc, char* argv[])
{
	int n,m,*p,i;
	scanf("%d%d",&n,&m);
	p=(int*)malloc(2*n);
	for(i=0;i<n;i++)
	{
		scanf("%d",p+i);
	}
	for(i=0;i<n;i++)
	{
		if(i<m)
	    	*(p+i+n)=*(p+n-m+i);
		else
			*(p+i+n)=*(p+i-m);
	}
	for(i=0;i<n;i++)
	{
		if(i==n-1)
		    printf("%d",*(p+n+i));
		else
			printf("%d ",*(p+n+i));
	}

	return 0;
}
//***************************************************************************
//* ????????			  									        *
//* ???	????????????????????????????????*
//*??? ???												        	*
//*???2010?12?8?														*
//***************************************************************************
int main()
{
	void move(int *, int , int );                   //??????????????
	int number[20], n, m, i;
		cin >> n >> m;
	for (i = 0; i < n; i ++)
		cin >> number[i];
	move(number, n, m);                      
	cout << endl;
	return 0;
}
void move(int * array, int n, int m)
{
	if (m == 0)                               //??m??0?????????????
	{
		for (int i = 0; i < n - 1; i ++)
		cout << *(array + i)<< ' ';
		cout << *(array + n - 1) << endl;
		return;
	}
	else
	{
	int * p, array_end;                               //???????????p???????array_end???????????????
	array_end = * (array + n - 1);
	for (p = array + n - 1; p > array; p --)//????????????????
	 * p = * (p - 1);
	* array = array_end;                 //???????????????????????
		move(array, n, m - 1);             //?????m - 1?
	}
	
}
void main()
{
	int n,m,i;
	int a[400];
	scanf("%d",&n);
	scanf("%d",&m);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
		a[i+200]=a[i];
	}
	for(i=1;i<=m;i++)
	{
		a[i]=a[i+n-m+200];
	}
	for(i=1;i<=n-m;i++)
	{
		a[m+i]=a[200+i];
	}
	for(i=1;i<=n-1;i++)
	{
		printf("%d ",a[i]);
	}
	printf("%d",a[n]);
}
void swap(int a[],int n,int m)
{
	int temp;
    temp=a[m];
	a[m]=a[n];
	a[n]=temp;
}
void circle(int a[],int l)
{
	int i;
	for(i=0;i<l;i++)
		swap(a,0,i);
}
void main()
{
	int l,k,i;
	int a[100];
	scanf("%d %d",&l,&k);
	for(i=0;i<l;i++)
		scanf("%d",&a[i]);
	for(i=0;i<k;i++)
		circle(a,l);
	for(i=0;i<l-1;i++)
		printf("%d ",a[i]);
	printf("%d\n",a[i]);
}
int main()
{
    int a[200];
	int n,i,m;
	scanf("%d%d",&n,&m);
	for(i=0;i<=n-1;i++)
	{
		scanf("%d",&a[i]);
	}
    for(i=0;i<=n-1;i++)
	{
		a[i+n]=a[i];
	}
	for(i=0;i<=m-1;i++)
	{
		a[i]=a[i+2*n-m];
	}
	for(i=m;i<=n-1;i++)
	{
		a[i]=a[i+n-m];
	}
	for(i=0;i<=n-2;i++)
	{
		printf("%d ",a[i]);
	}
	printf("%d",a[n-1]);
}
void main()
{
	int i,m,n,a[100],*out[100];
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<m;i++)
	{
		out[i]=&a[n-m+i];
	}
	for(i=m;i<n;i++)
	{
		out[i]=&a[i-m];
	}
	for(i=0;i<n-1;i++)
	{
	    printf("%d ",*out[i]);
	}
    printf("%d",*out[n-1]);
}
int main()
{
    int m,n,i,t=0;
    int a[100];
    cin >> n >> m ;
    for ( i = 0 ; i < n ; i ++ )
        cin>>a[i];
    for ( i = n - m ; i < n ; i ++ )
        { 
            t = a[i];
            cout<<t<<" "; 
        }
    for ( i = 0 ; i < n - m - 1  ; i ++ )
        { 
            t = a[i];
            cout<<t<<" ";
        }
        cout<<a[n - m - 1]<<endl;
}
int main()
{
	int n;
	int num[1000];
	int *p;
	int i,m;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&num[i]);
	}
	p=num;
	for(i=0;i<m;i++)
	{for(p=num+n;p>=num;p--)
	{
		
		*(p+1)=*p;
	}
	p=num;
	*p=*(num+n);}
	for(i=0;i<n-1;i++)
	printf("%d ",num[i]);
	printf("%d",num[i]);

	return 0;
}
void main()
{
    int a[100],b[100],n,m,i,j;
    scanf("%d %d",&n,&m);
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
    for(j=0,i=n-m;i<n;j++,i++)
    b[j]=a[i];
    for(i=0,j=m;j<n;i++,j++)
    b[j]=a[i];
    for(i=0;i<n-1;i++)
    printf("%d ",b[i]);
    if(i=n-1) printf("%d",b[i]);
}
void main()
{
	int m,n,i,*p,t;
	int a[100];
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=1;i<=m;i++)
	{
		t=a[n-1];
		p=a+n-1;
		while(p!=a)
		{
			*p=*(p-1);
			p--;
		}
		a[0]=t;
	}
	for(i=0;i<n;i++)
	{
		if(i)
			printf(" ");
		printf("%d",a[i]);
	}
	printf("\n");
}
void main()
{
	int m,n,*p,a[1000],i,j;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	
	p=&a[0];
	
	for(i=n;i>=0;i--)
	{
		a[m+i]=*(p+i);
	}

	p=&a[n];
	for(i=0;i<m;i++)
	{
		a[i]=*(p+i);
	}
	for(i=0;i<n-1;i++)
	{
		printf("%d ",a[i]);
	}
	printf("%d",a[n-1]);
}
void Input(int a[],int n)
{
	int i;
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
}
void Turn(int a[],int n,int m)
{
	int i,j,temp;
	for(i=n-m;i<n;i++)
	{
		for(j=i-1;j>=i-n+m;j--)
		{
		    temp=a[j];
		    a[j]=a[j+1];
		    a[j+1]=temp;
		}
	}
}
Output(int a[],int n)
{
	int i;
	printf("%d",a[0]);
    for(i=1;i<n;i++)
		printf(" %d",a[i]);
	printf("\n");
}
void main()
{
	int n,m,num[100];
	scanf("%d%d",&n,&m);
	Input(num,n);
	Turn(num,n,m);
	Output(num,n);
}
int main(){
	int n,m,a[100];
	int i,e,j,b;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	for(i=0;i<m;i++){
		e=a[0];
		for(j=0;j<n-1;j++){
			b=a[j+1];
			a[j+1]=e;
			e=b;
		}
		a[0]=e;
	}
	for(i=0;i<n-1;i++){
		printf("%d ",a[i]);
	}
    printf("%d",a[n-1]);
	return 0;
}
void main()
{
	int i,j,k,m,n,a[100];
	int *p;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(j=1;j<=m;j++)
	{
		p=a+n-1;
		k=*p;
		for(i=1;i<n;i++)
		{
			*p=*(p-1);
			p--;
		}
		*p=k;
	}
	printf("%d",a[0]);
	for(i=1;i<n;i++)
		printf(" %d",a[i]);
}
void main()
{
	long int n,m,a[100],b[100],i=0;
	scanf("%d",&n);
	scanf("%d",&m);
	for(i=0;i<=n-1;i++)
		scanf("%d",&a[i]);
	for(i=0;i<=n-1;i++)
		b[i]=a[i];
	for(i=0;i<=n-1;i++)
	{
		if(i+m<=n-1) a[i+m]=b[i];
		if(i+m>n-1)  a[i+m-n]=b[i];
	}
	for(i=0;i<=n-2;i++)
		printf("%d ",a[i]);
	printf("%d",a[n-1]);

}
void main()
{
	int i,n,m,a[100];
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=n;i<2*n-m;i++)
	 a[i]=a[i-n];
    printf("%d",a[n-m]);
    for(i=n-m+1;i<2*n-m;i++)
		printf(" %d",a[i]);
   printf("\n");
}
int a[105];
int main()
{
  int n,i,j;
  int m,k;
  scanf("%d%d",&n,&m);
  for(i=1;i<=n;i++)
    scanf("%d",&a[i]);
  for(i = m;i >= 1;i --)
  {
     k = a[n - i + 1];      
    for(j = n - i + 1;j >= m - i + 2;j --)    
          a[j] = a[j-1];    
    a[m - i + 1] = k;        
  }
  for(i = 1;i < n;i ++)
     printf("%d ",a[i]);
  printf("%d",a[n]);
 return 0;
}
int a[100]={0},n,m;
int main()
{
    int i;
    void move(int n,int m,int a[50]);
    scanf("%d %d",&n,&m);
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
    move(n,m,a);
    for(i=0;i<n-1;i++)
    printf("%d ",a[i]);
    printf("%d\n",a[n-1]);
}
void move(int n,int m,int a[100])
{
     int *p,d;
     for(;m>0;m--)
     {
      d=*(a+n-1);
      for(p=a+n-1;p>a;p--)
      *p=*(p-1);
      *a=d;
      }
}
int main()
{
	int n,m;//?????
	int a[100];//??????
	cin>>n>>m;//?????

	int i=0,j=0,k=(n-2),last;
	for(i=0;i<n;i++)cin>>a[i];//??????????

	for(j=0;j<m;j++)//???????m?
	{
		last=a[n-1];//???a[n-1]???last
		for(k=(n-1);k>=1;k--)//??????????????
		{
			a[k]=a[k-1];//????????????????????????
		}
		a[0]=last;//????????????????

	}

	for(i=0;i<n;i++)
	{
		if(i<(n-1)) cout<<a[i]<<' ';
		else cout<<a[i];
	}//????????????????????
	cout<<endl;
}
void main()
{
	int n,m,i,a[10000];
	int *p;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(p=a+n;p<(a+n+n-m);p++)
		*p=*(p-n);
	p=(a+n-m);
	printf("%d",*p);
	for(p=(a+n-m+1);p<(a+n+n-m);p++)
		printf(" %d",*p);
}
void main()
{
	int s[1000]={0};
	int n,m,i;
	scanf("%d %d",&n,&m);

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

	for(i=0;i<n-m;i++)
		s[i+n]=s[i];

	for(i=n-m;i<2*n-m-1;i++)
		printf("%d ",s[i]);
	printf("%d",s[2*n-m-1]);
}
int main()
{
     void move(int array[],int x,int y);
     int n,m,i,*p,a[100]={0};
     scanf("%d %d",&n,&m);
     for(p=a;p<=a+n-1;p++)
     scanf("%d",p);
     move(a,n,m);
     for(p=a;p<=a+n-2;p++)
     printf("%d ",*p);
     printf("%d",*(a+n-1));
     return 0;
}
void move(int array[100],int x,int y)
{ 
     int *p,arrayend=*(array+x-1);//?arrayend????????????????
     
       for(p=array+x-1;p>=array+1;p--)
       *p=*(p-1);
       *array=arrayend;
       y--;
       if(y>0) move(array,x,y);
}
int main(int argc, char* argv[])
{
	int m,n,i,i1,temp;
	int a[100];
	scanf("%d%d",&m,&n);
	n=n%m;
	for(i=0;i<m;i++){
		scanf("%d",&a[i]);
	}
	if (n==0||n==m)goto a;
	else if(n!=0){
	for(i=0;i<n;i++){
		for(i1=m-1;i1>0;i1--){
			temp=a[i1-1];
			a[i1-1]=a[i1];
			a[i1]=temp;
		}
	}
	}
a:	for(i=0;i<m-1;i++)printf("%d ",a[i]);
	printf("%d",a[m-1]);
	return 0;
}
void main()
{
	int n,m,i,a[10000];
	scanf("%d %d",&n,&m);
    for(i=0;i<n;i++)
    {
	if(i<n-m)
    scanf("%d",&a[i+m]);
	if(i>=n-m)
	scanf("%d",&a[i-n+m]);
	}
	for(i=0;i<n-1;i++)
	printf("%d ",a[i]);
	printf("%d",a[i]);
}
int main()
{
    int a[200], n, m;
    memset(a,-1,sizeof(a));
    cin >> n >> m;
    for (int i = 0; i < n; i++)
        cin >> a[i];
    int *p = a, *q = &a[n-m];
    while (p != q)
    {
        a[n++] = *p++;
    }
    cout << *q++;
    while (*q != -1)
    {
        cout << " " << *q++;
    }
    return 0;
}
int main() {
	int m, n, i;
	int numbers[105];
	cin >> n >> m;
	for (i = m; i < n; i++)
		cin >> numbers[i];
	for (i = 0; i < m; i++)
		cin >> numbers[i];//??????m?????????m?????
	for (i = 0; i < n; i++) {
		if (i != (n - 1))
			cout << numbers[i] << " ";//??????????????
		else
			cout << numbers[i];
	}
	return 0;
}
int a[100];
void move(int n,int m)
{
	int *p,last;
	last=a[n-1];
	for(p=a+n-1;p>a;p--)
		*p=*(p-1);
	*a=last;
	m--;
	if(m>0) move(n,m);
}

void main()
{
	int i,m,n;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	move(n,m);
	for(i=0;i<n-1;i++)
		printf("%d ",a[i]);
	printf("%d",a[n-1]);
}
int main()
{
	int n,m,i,a[100];  
	int *p;  
	cin>>n>>m;  
	for(i = 0;i < n;i ++)
	{  
		cin>>a[i];  
	}  
	p = a + n - m;  
	do
	{  
		cout<<*p<<" ";  
		p ++;  
		if(p > a + n - 1)
			p = a;  
		if(p == a + n - m - 1)  
			break;  
	}
	while(p <= a + n -1);  
	cout<< *p <<endl;  
	return 0;
}
int main()
{
	int n, where;
	cin >> n >> where;
	int num[max];
	for (int i = 0; i < n; i++)
		cin >> num[i];
	int *p = num;
	for (int i = 0; i < n - where; i++)
		*(p + n + i) = *(p + i);
	p = p + n-where;
	for (int i = 0; i < n;i++)
	if (i == 0)
		cout << *(p + i);
	else
		cout << " " << *(p + i);
	



}
void swap(int *pa,int n,int m)
{
	int a[100];
	int i;
	for(i=0;i<m;i++) a[i]=pa[n-m+i];
	for(i=0;i<n-m;i++) pa[n-1-i]=pa[n-1-i-m];
	for(i=0;i<m;i++) pa[i]=a[i];
	return;
}
void main()
{
	int c[100];
	int i,n,m,*p=c;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++) scanf("%d",&c[i]);
	swap(p,n,m);
	for(i=0;i<n-1;i++) printf("%d ",c[i]);
	printf("%d",c[n-1]);
}
void main()
{
	int i,n,m;
	scanf("%d %d",&n,&m);
	int *p[100];
	for(i=0;i<n-m;i++)
	{p[i+m]=(int *)calloc(1,sizeof(int));
	scanf("%d",p[i+m]);}
	for(i=0;i<m;i++)
	{
		p[i]=(int *)calloc(1,sizeof(int));
		scanf("%d",p[i]);
	}
	for(i=0;i<n;i++)
	if(i!=0) printf(" %d",*p[i]);else printf("%d",*p[i]);

}
int main()
{
	int n,m,a[200],i;
	cin>>n>>m;
	for(i=100;i<n+100;i++)
	{
	  cin>>a[i];
	}
    for(i=n-m+100;i<n+100;i++)
	{
		a[i-n]=a[i];
	}
	for(i=100-m;i<n+100-m-1;i++)
	{
		cout<<a[i]<<" ";
	}
	cout<<a[n+100-m-1]<<endl;
	return 0;
}
main()
{
	int n,i,m;
	int a[num];
	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];/*????m*/
	for (i=0;i<m;i++)
		a[i]=a[i+n];
	for (i=0;i<n-1;i++)
		printf("%d ",a[i]);
	printf("%d\n",a[n-1]);
}
int main(){
	int n,m;
	cin>>n>>m;
	int a[n],b[n];
	for(int i=0;i<n;i++)cin>>a[i];
	for(int i=0;i<n;i++)b[i]=a[i];
	for(int k=0;k<n;k++){
		if(n-m+k<=n-1)a[k]=b[n-m+k];
		else a[k]=b[k-m];
	}
	for(int i=0;i<n;i++){
		if(i==0)cout<<a[i];
		else cout<<" "<<a[i];
	}
	return 0;
}
int n,m;//n????????????m????????
main()
{
	void f(int a[]);
	int i,a[100];//??n????100.??a[100]???n???
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	f(a);
	for(i=0;i<n-1;i++)
	{
		printf("%d ",a[i]);
	}
          printf("%d",a[n-1]);
}
void f(int a[])
{
	int i,*p=a,t;
	for(i=n-1;i>0;i--)//???????1???
	{
		t=*(p+i);
		*(p+i)=*(p+i-1);
		*(p+i-1)=t;
	}
	m--;
	if(m!=0)f(a);//???????0?????
}
int main()
{
int a[200],m,n,i;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<=m;i++)
{
a[n+i]=a[n-m+i];
}
for(i=1;i<=n-m;i++)
{
a[n-i+1]=a[n-m-i+1];
}
for(i=1;i<=m;i++)
{
a[i]=a[n+i];
}
printf("%d",a[1]);
for(i=2;i<=n;i++)
{
printf(" %d",a[i]);
}
return 0;
}
int main()
{
	void move(int a[],int n,int m);
	int n,m;
	int i;
	int a[100];
	int *p;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	move(a,n,m);
	for (i=0;i<n;i++)
		if(i!=n-1)
		printf("%d ",a[i]);
		else
		printf("%d",a[i]);
	return 0;
}

void move(int a[],int n,int m)
{
	int *p;
	int al;
	al=*(a+n-1);
	for(p=a+n-1;p>a;p--)
		*p=*(p-1);
		*a=al;
		m=m-1;
		if (m>0)
			move(a,n,m);
}
void move(int *shu,int n)
{
	int t1,t2;
	int *ptr=shu;
	t1=*ptr;
	*ptr=*(ptr+n-1);
	ptr++;
	do
	{
		t2=*ptr;
		*ptr=t1;
		t1=t2;
		ptr++;
	}while(ptr-shu<=n);
}
void main()
{
	int n,a,i;
	int shu[100];
	scanf("%d %d",&n,&a);
	for(i=0;i<n;i++)
		scanf("%d",shu+i);
	for(i=0;i<a;i++)
		move(shu,n);
	for(i=0;i<n;i++)
	{
		if(i!=n-1)
		printf("%d ",*(shu+i));
		else
			printf("%d",*(shu+i));
	}

}
void main()
{
	int i,n,m;
	int a[100]={0};
	scanf("%d %d",&n,&m);
	int *p;
	p=(int*)malloc(n*sizeof(int));
    for(i=0;i<=n-1;i++)
	scanf("%d",&a[i]);
   if(p=&a[n-m])
     printf("%d",*p);
   for(i=1;i<n;i++)
	{     
	    if(n-m+i<n)
		p=&a[n-m+i];
	    else
		p=&a[i-m];
	    printf(" %d",*p);
	}
}
int main()
{
	int n,m;
	cin>>n>>m;
	int a[n];
	for( int i = 0; i < n; i++)
	{
		cin>>a[i];
	}
	int *p = a + n - m;
	for( ; p < a + n ; p++)
	{
		cout<< *p<<' ';
	}
	int *q = a;
	for(; q < a + n - m ; q++)
	{
		if( q != a + n - m - 1)
			cout<< *q << ' ';
		else
			cout<< *q<<endl;
	}
	
	
	return 0;
}
int main()
{
    int n,m;
    scanf("%d %d",&n,&m);
    int a[100],i;
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
    printf("%d",a[n-m]);
    for(i=n-m+1;i<n;i++)
    printf(" %d",a[i]);
    for(i=0;i<(n-m);i++)
    printf(" %d",a[i]);
    getchar();
    getchar();
}
//*******************//
//*???????   *//
//*?????       *//
//*???2010.12.10 *//
//*******************//
int main()
{
 int a[100];
 int n,m,i,counter=0;
 cin>>n>>m;
 for(i=0;i<n;i++)
 {
   cin>>a[i];
 }
 int *p;
 for(p=a+n-m;;p++)
 {
   if(p!=a+n-1)
   {
	   if(counter!=n-1)
	     cout<<*p<<" ";
	   else
         cout<<*p;
   }
   else
   {
	   cout<<*p<<" ";
	   p=a-1;
   }
   counter++;
   if(counter==n)
	   break;
 }
 return 0;
}
void main()
{
	int i,k,j,n,m,a[100];
	int *p;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
    
	p=&a[n-m];
	for(k=n-m;k<n;k++,p++)
	    printf("%d ",*p);
	p=&a[0];
	for(j=0;j<n-m-1;j++,p++)
		printf("%d ",*p);
	printf("%d",a[n-m-1]);

}