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


}


void f(int *p,int n,int m)
{
int j,i,temp;
for(j=n-m;j<=n-1;j++)
  for(i=j;i>=j-n+m+1;i--)
  {temp=*(p+i);
  *(p+i)=*(p+i-1);
  *(p+i-1)=temp;
  }
}
int main()
{
	int *p,*q;
	int m,n,i;
	scanf("%d%d",&n,&m);
	p=(int*)malloc((sizeof(int))*n);
	q=(int*)malloc((sizeof(int))*n);
	for (i=0;i<n;i++)
		scanf("%d",&p[i]);
	for(i=0;i<n-1;i++)
	{
		*q=p[(n-m+i)%n];
		printf("%d ",*q);
		q++;
	}
	printf("%d",p[n-m-1]);
	return 1;
}
void main()
{
	int m,n,a[10000],i,j,k;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
	scanf("%d",&a[i]);
	j=n;
	k=0;
	
	for(i=0;i<n;i++)
	{
		a[j]=a[i];
	    j++;
	}
	for(j=2*n-m;j<2*n;j++)
	{
	    
	    a[k]=a[j];
	    k++;
	}
	for(j=n;j<2*n-m;j++)
	    a[j-n+m]=a[j];
	
	
	
	    printf("%d",a[0]);
	    for(i=1;i<n;i++)
	    printf(" %d",a[i]);
}
int main()
{
	int n,m,i,a[201];
	scanf("%d %d\n",&n,&m);
	for (i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for (i=0;i<n-m;i++)
	{
		a[i+n+m]=a[i];
	}
	for (i=n-m;i<n;i++)
	{
		a[i+m]=a[i];
	}
	for (i=0;i<n;i++)
	{
		a[i]=a[i+n];
	}
	for (i=0;i<n-1;i++)
	{
		printf("%d ",a[i]);
	}
	printf("%d",a[n-1]);
	return 0;
}
int main()
{
	int n,m,i,*p;
	scanf("%d%d",&n,&m);
	p=(int*)malloc(n*sizeof(int));

	for(i=m;i<=n-1;i++)
	{
		scanf("%d",p+i);
	}
	for(i=0;i<m;i++)
	{
		scanf("%d",p+i);
	}
	for(i=0;i<n;i++)
		printf("%d%c",*(p+i),(i<n-1)? ' ':'\n');
	return 0;
}
int main()
{
	int m,n,i,a[100],b[100];
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n;i++)
	{
		b[i]=a[i];
		if(i<m)
			a[i]=a[n-m+i];
		else
            a[i]=b[i-m];
	}
	for(i=0;i<n-1;i++)
		printf("%d ",a[i]);
		if(i=n-1)
		printf("%d",a[n-1]);
	return 0;
}
int main(int argc, char* argv[])
{
	int a,b,c,d,n,i,e;
	scanf("%d%d",&n,&a);
	int score[100];
	for(i=0;i<n;i++)
	{
		scanf("%d",&b);
		score[i]=b;
	}
	for(i=0;i<a;i++)
	{   
		
		
		d=score[1];
		score[1]=score[0];
		for(c=1;c<n-1;c++)
		{
			e=score[c+1];
			score[c+1]=d;
			d=e;
		}
		score[0]=e;
		
	}
	for(i=0;i<n-1;i++)
	{
		printf("%d ",score[i]);
	}
	printf("%d",score[n-1]);
	return 0;
}
//????????

int main()
{
	int n,m;
	cin>>n>>m;
	int a[300];
	int i,j;
	for(i=0;i<n;i++)
		cin>>a[i];
	int *p,*q,t;
	for(p=a+n-1;p>=a;p--)
	{
		*(p+m)=*p;
	}
	for(p=a;p<a+m;p++)
	{
		*p=*(p+n);
	}
	p=a;
	cout<<*p;
	for(p=a+1;p<a+n;p++)
		cout<<" "<<*p;
	cout<<endl;
	return 0;
}
void main()
{
	int a[100]={0};
	int s,k,i,j;
	scanf("%d%d",&s,&k);
	for(i=0;i<s;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<k;i++)
	{
		for(j=s-1;j>-1;j--)
		{
			a[j+1]=a[j];
		}
		a[0]=a[s];
	}
	printf("%d",a[0]);
	for(i=1;i<s;i++)
	{
		printf(" %d",a[i]);
	}
}
/*
 * move.cpp
 *
 *  Created on: 2011-1-8
 *      Author: Administrator
 */
int main(){
	int *p = NULL,*q = NULL;
	int n,m,i;
	cin>>n>>m;
	int a[n];
	for(i=0;i<n;i++)  cin>>a[i];
	p=a;
	q=a+n;
	for(i=0;i<n-m;i++){
		*(q+i)=*(p+i);
	}
	p=a+n-m;
	for(i=0;i<n-1;i++){
		cout<<*(p++)<<" ";
	}
	cout<<*p<<endl;
	return 0;
}
void main()
{
	int a[100],n,m,tem,i,j;
	int*p;
	p=&a[0];
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",p++);
	p=a;
	for(i=0;i<m;i++)
	{
		tem=p[n-1];
		for(j=n-1;j>0;j--)
			p[j]=p[j-1];
		p[0]=tem;
	}
	p=&a[0];
	for(i=0;i<n-1;i++,p++)
		printf("%d ",*p);
	printf("%d",*p);
}
int main(){
	int n,m,temp;
	cin>>n>>m;
	int a[101];
	int *p=a;
	for(p=a;p<a+n;p++)
		cin>>*p;
	for(int i=0;i<m;i++){
		p=a+n-1;
		temp=*p;
		for(p--;p>=a;p--)
			*(p+1)=*p;
		p++;
		*p=temp;
	}
	for(p=a;p<a+n;p++){
		if(p==a) cout<<*p;
		else cout<<' '<<*p;
	}
	return 0;
}
void main()
{
	int a[100],i,n,j,m;
	scanf("%d %d",&n,&m);
	for(i=1;i<=n;i++)
		scanf("%d",&a[i]);
	for(i=1;i<=m;i++)
	{
		a[0]=a[n];
		for(j=n;j>0;j--)
			a[j]=a[j-1];
	}
	for(i=1;i<n;i++)
		printf("%d ",a[i]);
	printf("%d",a[i]);
}
int main()
{
    int n,m;
	int i,j;
    scanf ("%d%d", &n, &m);
    int *p;
    p = (int *)malloc(sizeof(int) * (n+1));
	for (i=0; i<n; i++) {
	scanf ("%d",p+i);
	}
	m %= n;
	for (j=0; j<m; j++) {
    	for (i=n; i>0; i--) {
	      *(p+i)=*(p+i-1);
		}	
          *p=*(p+n);	      				
	}    
	for (i=0; i<n-1; i++) {
       printf ("%d ",*(p+i));
	}
	printf ("%d", *(p+n-1));
	free (p);
    return 0;
}
main()
{
    int a[101];
    int n,m,i, p;
    
    scanf("%d %d", &n, &m);
    for(i=1;i<=n;i++)
    {
                     scanf("%d", &a[i]);
    }
    
    a[0] = a[n];
    for(i = 1;i <= n; i++)
    {
     p = (n - m + i) % n;
     printf("%d", a[p]);
     //printf("|%d|", n - m + i);
     if(i != n) printf(" ");
}
}
int main()
{
	int a[101];
	int n,m,i;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	int j,k,t;
	for(j=1;j<=m;j++)
	for(k=n-1;k>=0;k--)
	{
		if(k==n-1)
		{
			t=a[k];
			a[k]=a[k-1];
		}
		else if(k==0)
			a[k]=t;
		else
			a[k]=a[k-1];
	}
	int l;
	for(l=0;l<n-1;l++)
		printf("%d ",a[l]);
	printf("%d",a[n-1]);
	return 0;
}
void main()
{
	int n,m,i;
	int *p;
	scanf("%d%d",&n,&m);
	p=(int *)malloc( n *sizeof(int) );
	for(i=0;i<n;i++)
		scanf("%d", p+(i+m)%n );
	for(i=0;i<n;i++){
		printf("%d", *(p+i) );
		if(i<n-1)
			printf(" ");
	}
}
int main()
{
   int m,n,i;
   cin>>n>>m;
    int a[n];
    for(i=m;i<n;i++)
    cin>>*(a+i);
    for(i=0;i<m;i++)
    cin>>*(a+i);
    cout<<*a;
    for(i=1;i<n;i++)
    cout<<' '<<*(a+i);
    return 0;
}
//***********************************************
//*  ? ? ?:5.3                               *
//*  ?    ?:???                            *
//*  ????:10.25                             *
//*  ????:????                          *
//*********************************************** 
int main()
{
    int n,m;
    cin>>n>>m;
    int p[n];
    for(int i=0;i<n;i++)
    {
      cin>>p[i];
    }
    for(int j=0;j<m;j++)
    {
      int t;
      t=p[n-m+j];
      for(int k=n-m+j;k>j;k--)
      {
        p[k]=p[k-1];
      }
      p[j]=t;
    }
    for(int k=0;k<n-1;k++)
    {
       cout<<p[k]<<" ";
    }
    cout<<p[n-1];
    return 0;
}
void main()
{
	void move(int x,int y[]);
	int i,m,n,a[100];
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&a[i-1]);
	}
	for(i=1;i<=m;i++)
	{
		move(n,a);
	}
	printf("%d",a[0]);
	for(i=2;i<=n;i++)
	{
		printf(" %d",a[i-1]);
	}
}

void move(int x,int y[])
{
	int i,t;
	t=y[x-1];
	for(i=1;i<=x-1;i++)
	{
		y[x-i]=y[x-1-i];
	}
	y[0]=t;

}
int main()
{
    void stand(int a[],int M,int N,int x);
    int s[100],n,m,i,z;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
    scanf("%d",&s[i]);
    z=m;
    while(m!=0)
    {
    stand (s,m,n,z);
    m--;
    }
    printf("%d",s[0]);
    for(i=1;i<n;i++)
    printf(" %d",s[i]);
}
void stand(int a[],int M,int N,int x)
{
    int k,t,q;
    for(k=N-M;k>x-M;k--)
    {
    t=a[k];
    a[k]=a[k-1];
    a[k-1]=t;
    }
}
int main(){
	int sz[400];
	int j,n,m,i;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++){
		scanf("%d",&sz[i]);
	}
	for(j=0;j<n;j++){
		sz[200+j]=sz[j];
	}

	for(i=0;i<m;i++){
		sz[i]=sz[200+n-m+i];
	}
	for(i=0;i<n-m;i++){
		sz[m+i]=sz[200+i];
	}

	printf("%d",sz[0]);
	for(i=1;i<n;i++){
		printf(" %d",sz[i]);
	}
	return 0;
}
//
//  main.cpp
//  xunhuan
//
//  Created by blues cookie on 12-12-9.
//  Copyright (c) 2012? blues cookie. All rights reserved.
//


int main(int argc, const char * argv[])
{
    int m,n,i,j,k;
    int a[100];
    cin>>n>>m;
    for(i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    for(i=n-m+1;i<=n;i++) *(a+i+m)=*(a+i);//??m????m
    for(i=n-m;i>=1;i--) *(a+i+m)=*(a+i);//?n-m?????
    for(i=1;i<=m;i++) *(a+i)=*(a+i+n);//?M?????
    for(i=1;i<=n-1;i++) cout<<a[i]<<' ';//?? ???
    cout<<a[n];
    return 0;

}
int main()
{
	int n,m,i,j,temp;
	int x[100]={0};
	char c;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d%c",&x[i],&c);
	}
	for(i=0;i<m;i++)
	{
		temp=x[n-1];
		for(j=n-1;j>0;j--)
		{
			x[j]=x[j-1];
		}
		x[0]=temp;
	}
	printf("%d",x[0]);
	for(i=1;i<n;i++)
	{
		printf(" %d",x[i]);
	}
	putchar('\n');

	return 0;
}
int main()
{
	int n,m,i;
	int a[MAX];
	int *pa=0;
	int x[MAX];
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<n-m;i++)
	{
		pa=&a[i];
		x[i+m]=*pa;
	}
	for(i=n-m;i<n;i++)
	{
		pa=&a[i];
		x[i+m-n]=*pa;
	}
	printf("%d",x[0]);
	for(i=1;i<n;i++)
	{
		printf(" %d",x[i]);
	}
	printf("\n");
	
	return 0;
}
int main(void)
{
	int i,j,n,m,a[101],*p;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	p=a+n-1;
	for(j=0;j<m;j++)
	{
		for(i=0;i<n;i++)
			*(p-i+1)=*(p-i);
		*(p-n+1)=*(p+1);
	}
	for(i=0;i<n-1;i++)
		printf("%d ",a[i]);
	printf("%d",a[n-1]);
}
void tz(int a[],int n,int m);
void main()
{
	int a[20];
	int m,n,i;
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++)
		scanf("%d",&a[i]);
	tz(a,n,m);
}
void tz(int a[],int n,int m)
{
	int *p;
	for(p=a+n-m+1;p<=a+n;p++)
		printf("%d ",*p);
	for(p=a+1;p<a+n-m;p++)
		printf("%d ",*p);
         printf("%d\n",*p);
}
//****************************
//*???:1.cpp               *
//*??:??                  *
//*????:2013?12?11?     *
//*????:????          *
//****************************
int main()
{
	//??????????...
	int n, m, shu[200] = {0};            //??n???????????m,??????shu[]???
	cin >> n >> m;                       //??
	int *p = shu;                        //???p????shu?0??
	for ( int i = 0; i < n; i ++ )
		cin >> shu[i];
	for ( int i = n - 1; i >= 0; i -- )  //?????????m?
		* ( p + i + m ) = * ( p + i );
	for ( int i = 0; i < m; i ++ )       //??n????????
		* ( p + i ) = * ( p + n + i );
	for ( int i = 0; i < n; i ++ )       //??
	{
		if ( i == n - 1 )
			cout << shu[i];
		else
			cout << shu[i] << " ";
	}
	return 0;
}
int main(int argc, char* argv[])
{
	int*p,*point,*start,*begin,*temp,i,n,m;
	scanf("%d%d",&n,&m);
	p=(int*)malloc(sizeof(int)*n);
	point=p;
	start=p;
	begin=p;
	for(i=0;i<n;i++,start++)
	{
		scanf("%d",start);
	}
	point+=(n-m);
	temp=point;
	for(;point<start;point++)
	{
		printf("%d ",*point);
	}
	for(;begin<temp-1;begin++)
	{
		printf("%d ",*begin);
	}
	printf("%d",*begin);
	free(p);
	return 0;
}
void main()
{
  int m,n,i;
  int a[100];
  int *p,*p1;
  p=a;
  scanf("%d%d",&n,&m);
  for(i=0;i<n;i++)
{
   scanf("%d",p++);
   }
   p1=&a[n-m];
 for(i=n-m;i<n;i++,p1++)
{
printf("%d ",*p1);
}
 p=a;
for(i=0;i<n-m-1;i++,p++)
{
printf("%d ",*p);
}
printf("%d",*p);
}
int main()
{
	int *ptr1,*ptr2,i,n,number,a[1000];
	scanf("%d%d",&number,&n);
	for(i = 0; i < number; i++)
	{
		scanf("%d",&a[i]);
	}
	ptr1 = a;
	ptr2 = ptr1 + number - n;
	for(i = 1; i <= n; i++)
	{
		printf("%d ",*ptr2);
		ptr2++;
	}
	for(i = 1; i < (number - n); i++)
	{
		printf("%d ",*ptr1);
		ptr1++;
	}
	printf("%d", *(ptr1));
}
void right_shift_one(int* a,int n);
void right_shift_array(int* a,int n,int m);

int main() {
	int n,m;
	scanf("%d %d",&n,&m);
	int* a=(int *)calloc(n,sizeof(int));
	int i;
	for(i=0;i<n;i++)
		scanf("%d",&(a[i]));
	right_shift_array(a,n,m);
	for(i=0;i<n-1;i++)
		printf("%d ",a[i]);
	printf("%d",a[n-1]);
	free(a);
	return 0;
}

void right_shift_array(int* a,int n,int m) {
	int i;
	for(i=0;i<m;i++)
		right_shift_one(a,n);
}

void right_shift_one(int* a,int n) {
	int temp=a[n-1];
	int i;
	for(i=n-1;i>0;i--) {
		a[i]=a[i-1];
	}
	a[0]=temp;
}
int main(int argc, char* argv[])
{
	int n,m,s[100],i,c[100];
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++){
		scanf("%d",&s[i]);
	}
	for(i=n-1;i>=n-m;i--){
		c[i]=s[i];
	}
	for(i=0;i<n-m;i++){
		s[n-1-i]=s[n-m-1-i];
	}
	for(i=0;i<m;i++){
		s[i]=c[n-m+i];
	}
	for(i=0;i<n-1;i++){
		printf("%d ",s[i]);
	}
	printf("%d",s[n-1]);
	return 0;
}
main()
{
	int a[201],n,m,i;
	scanf("%d %d",&n,&m);
	for(i=1;i<=n;i++) scanf("%d",&a[i]);
	for(i=n+1;i<=2*n-m;i++) a[i]=a[i-n];
	for(i=n-m+1;i<=2*n-m;i++) {if(i!=n-m+1) printf(" ");printf("%d",a[i]);}
}
int main()
{
	int a[120],b[120],i,n,m;
	cin>>n>>m;
	for(i=1;i<=n;i++)//??????
		cin>>a[i];
   int *p1=&a[1];
	for(i=1;i<=n-m;i++,p1++)//??m???????
		b[m+i]=*p1;
	for(i=1;i<=m;i++)//??n-m???????
		b[i]=a[n-m+i];
		int *p=&b[1];
	for(i=1;i<n;i++,p++)
	cout<<*p<<" ";//??????????
	cout<<*p;
	return 0;
}
int main()
{
	int i,j,m,n,temp;
	int a[100];
	cin>>n>>m;
	for(i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	for(i=n-m;i>=1;i--)
	{
		for(j=0;j<m;j++)
		{
			temp=*(a+i+j);
			*(a+i+j)=*(a+i+j+1);
			*(a+i+j+1)=temp;
		}
	}
	for(i=1;i<=n;i++)
	{
		if(i<n)
		cout<<a[i]<<" ";
		else
		cout<<a[i]<<endl;
	}
	return 0;
}
int main()
{
	void move(int*p, int n, int m);
	int n, m;
	scanf("%d %d", &n, &m);
	int i;
	int a[100];
	int *p;
	p=a;
	scanf("%d", &a[0]);
	for(i=1;i<n;i++)
	{
		scanf(" %d", &a[i]);
	}
	move(p, n, m);
	return 0;
}

void move(int*p, int n, int m)
{
	int *p1;
	p1=(int *)malloc(n*sizeof(int));
	int i, j=0;

	for(i=0;i<m;i++)
	{
		p1[i]=p[i+n-m];
	}
	for(i=m;i<n;i++,j++)
	{
		p1[i]=p[j];
	}
	for(i=0;i<n-1;i++)
	{
		printf("%d ", p1[i]);
	}
	printf("%d\n", p1[n-1]);
	free(p1);
}
void Move(int *num,int n)
{
    int *p;
    for(p=num+n-1;p>=num;p--)
       {
        *(p+1)=*p;
        }
    num[0]=num[n];
}

int main()
{
    int m,n,num[101];
    int i;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
       scanf("%d",num+i);
    for(i=0;i<m;i++)
       Move(num,n);
    for(i=0;i<n-1;i++)
       printf("%d ",num[i]);
    printf("%d",num[i]);
    return 1;
}
int main()
{
	int n,m,a[100],i,mid;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	if(n==2*m)//???????????????????????
	for(i=0;i<m;i++)
	{
		mid=a[n-m+i];//????m?????????????
		a[n-m+i]=a[i];
		a[i]=mid;
	}
	if(n>2*m)//??????m?????????????????????
	{
	for(i=0;i<m;i++)
	{
		mid=a[n-m+i];
		a[n-m+i]=a[i];
		a[i]=mid;
	}
	for(int j=m;j>0;j--)
	{for(i=j;n-i>m+m-j;i++)
	{
		mid=a[n-i];
		a[n-i]=a[n-i-1];
		a[n-i-1]=mid;
	}}
	}
	if(n<m+m)
	{
		for(int j=m;j>0;j--)//???m?????????????????????????????????
		{
		for(i=n-j;i>m-j;i--)
		{mid=a[i];
		a[i]=a[i-1];
		a[i-1]=mid;}
		}
	}
	for(i=0;i<n-1;i++)
		printf("%d ",a[i]);
	printf("%d",a[n-1]);
}
int main()
{
	int n,a,i,p[105],u[105];
	cin>>n>>a;
	for(i=0;i<n;i++)
		cin>>*(p+i);
	for(i=0;i<a;i++)
		*(u+i)=*(p+n-a+i);
	for(i=a;i<n;i++)
		*(u+i)=*(p+i-a);
	for(i=0;i<n;i++)
		{cout<<*(u+i);if(i!=n-1)cout<<' ';}

	return 0;

}
int main()
{
    int i,n,m,a[100],*p;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }

    for(i=0;i<n;i++)
    {
    if (i-m>=0)
    {
    printf("%d",*(a+i-m))   ;
    if(i!=n-1)
    {
    printf(" ")  ;
    }
    continue;
    }
        printf("%d ",*(a+n-m+i));

    }



    
    return 0;
}
void move(int a[],int n,int m);
void main()
{
	int n,m,i,a[100],*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-1;i++)printf("%d ",a[i]);
	printf("%d",a[n-1]);
	printf("\n");
}
void move(int a[],int n,int m)	
{
	int *p,i,t;
	t=a[n-1];
	for(p=(a+n-1);p>a;p--)
	*p=*(p-1);
	*a=t;
	m--;
	if(m>0)move(a,n,m);
}
int main()
{
	int m,n,i,a[2000];
	cin>>n>>m;
	for(i=1;i<=n;i++)
		cin>>a[i];
	for(i=n+1;i<=2*n;i++)
		a[i]=a[i-n];
	int *p=&a[1];
	cout<<a[n-m+1];for(i=1;i<=n-1;i++)
	{*(p+i)=*(p+n-m+i);cout<<" "<<*(p+i);}cout<<endl;

	

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

	for (j=0;j<m;j++)
	{
		p=a;t=a[n-1];
		for(i=n-1;i>0;i--)
			*(p+i)=*(p+i-1);
		a[0]=t;
	}

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


}
int main()
{
   int a[100],n,m,i,*p=a;
   scanf("%d %d",&n,&m);
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
    for(p=a+n-m;p<a+n;p++)
    printf("%d ",*p);
    for(p=a;p<a+n-m-1;p++)
    printf("%d ",*p);
    printf("%d",*(a+n-m-1));
    return 0;
}
void yid(int *p,int x,int y)
{
    int i,j,temp;
	for(i=0;i<y;i++)
	{
		temp=*(p+x-1);
		for(j=x-1;j>0;j--)
			*(p+j)=*(p+j-1);
		*p=temp;
	}
}
int main()
{
    int *arr,l,a[100],n,m;
    scanf("%d %d",&n,&m);
	for(l=0;l<n;l++)
		scanf("%d",&a[l]);
	arr=a;
	yid(arr,n,m);
	printf("%d",*arr);
    for(arr=(a+1);arr<(a+n);arr++)
		printf(" %d",*arr);
}
int main()
{int a[200];
 int n,m,i;
 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+m-1;i>n-1;i--)
	 a[i-n]=a[i];
 cout<<a[0];
 for(i=1;i<n;i++)
	 cout<<' '<<a[i];
  return 0;
}
int main()
{
	int i,j,k,l,m,n,d[100];
	int *p1,*p2;
	scanf("%d%d",&m,&n);
	for(i=0;i<m;i++) scanf("%d",&d[i]);
	p2=&d[m+n-1];p1=&d[m-1];
	for(;p1>=&d[0];p1--,p2--) *p2=*p1;
	p2=&d[0];p1=&d[m];
	for(;p2<&d[n];p2++,p1++) *p2=*p1;
	for(i=0;i<m;i++) printf("%d%c",d[i],(i==m-1)? '\n':' ');
	return 0;
}
void main()
{
	int n,m,*p,*q,i;
	int a[100];
	
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	p=a;
	q=a+n-1;
    for(i=0;i<n-m;i++)
	{ 
		*(q+1)=*p;	q++;p++;
	}
    for(i=0;i<n;i++)
		*(a+i)=*(p+i);
	for(i=0;i<n-1;i++)
		printf("%d ",a[i]);
	printf("%d",a[n-1]);
}
/*????*/
int main( )
{
	int n,m,i,a[101];
	cin>>n>>m;
	for(i=1;i<=n;i++)
		cin>>a[i];
	int *p=a,*q;
	/*???m??*/
	for(i=n-m+1;i<=n;i++)
	{
		q=(p+i);
		cout<<*q<<" ";
	}
	/*???n-m??*/
	for(i=1;i<n-m;i++)
	{
		q=(p+i);
		cout<<*q<<" ";
	}
	cout<<a[n-m];
	return 0;
}
void main ()
{
    int n,m ,i,j;
    scanf ("%d%d",&n,&m);
    int a[100];
    for (i=0;i<n;i++)
    scanf ("%d",&a[i]);
    int *p;
    p=a;
    for (i=1;i<(n-m+1);i++)
    p++;
    for (i=0;i<m;i++)
    {
    printf ("%d ",*p);
    p++;}
    p=a;
    for (i=0;i<n-m-1;i++)
    {printf("%d ",*p);
    p++;}
printf("%d",*p);
}
void main()
{
	int n,m,i;
	int a[50];
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=n-1;i>=m;i--)
		a[i]=a[i]*100+a[i-m];
	if(m==n/2+1) a[0]=a[n-m];
	else 
		a[0]=a[0]*100+a[n-m]/100;
	for(i=1;i<m;i++)
		a[i]=a[i]*100+a[n-m+i]/100;
	for(i=0;i<n;i++)
	{
		printf("%d",a[i]%100);
		if(i!=n-1) printf(" ");
	}
}
void move(int*p,int n,int m)
{
	int i,end;
	end=*(p+n-1);
	for(i=n-1;i>=0;i--)
		*(p+i)=*(p+i-1);
	*p=end;
	m--;
	if(m>0)
		move(p,n,m);
	else if(m==0)
	{
		for(i=0;i<n;i++)
		{
	    	if(i==0)
	        	printf("%d",*(p+i));
	    	else
		    	printf(" %d",*(p+i));
		}
	}

}

	
void main()
{
	int n,m,i,a[100],*p;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	p=a;
	move(p,n,m);
	
}
int main()
{
	int a[200];
	int i,j,n,m,temp,temp2;
	scanf("%d%d",&n,&m);
	for (i=1; i<=n; i++) scanf("%d",&a[i]);
	for (j=1; j<=m; j++) {
		temp=a[n];
		for (i=n; i>=2; i--) {
			temp2=a[i];
			a[i]=a[i-1];
			a[i-1]=temp2;
		}
		a[1]=temp;
	}
	for (i=1; i<n; i++) printf("%d ",a[i]);
	printf("%d",a[n]);
	return 0;
}
int main ()
{
    int n,m,i,a[100],x=0,k,c=0,temp,count=0;
    scanf("%d%d",&n,&m);
    for  (i=0;i<n;i++)
    {
         scanf("%d",&a[i]);
    }   
    if (n%m==0)
    {
          k=n/m;
          for (i=0;i<m;i++)
          {
                      x=i;
                      while (c!=i||count==0)
                         {  
                         count=1;    
                         if (x+m<n)
                        c=x+m;                        
                        else c=x+m-n;
                        // printf("c=%d",c);                              
                         temp=a[c];
                         a[c]=a[i];
                         a[i]=temp;
                         x=c; 
                          } 
                          //printf("break"); 
                          count=0;
                          x=0;
                          c=0;
                                              
          }  
    }
    
    else 
    {
         count=0; 
         x=0;
         while (count!=n)
         {
                        if (x+m<n)
                        c=x+m;
                        else c=x+m-n;                               
                         temp=a[c];
                         a[c]=a[0];
                         a[0]=temp;
                         x=c; 
                         count++;
         }
    }
    printf("%d",a[0]);
    for (i=1;i<n;i++)
    printf(" %d",a[i]);
          return 0;
}
void swap(int a[], int h, int t) {
  int i, j, te;
  for (i = h, j = t; i < j; i++, j--) {
	te = a[i];
    a[i] = a[j];
	a[j] = te;
  }
}

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

int main() {
  int n, m;
  int a[100];
  scanf("%d %d", &n, &m);
  m = n - m;
  int i;
  for (i = 0; i < n; i++)
     scanf("%d", &a[i]);
  swap(a, 0, m - 1);
  swap(a, m, n - 1);
  swap(a, 0, n - 1);
  dump(a, n);
  return 0;
}
void main()
{
	int n,m,i,j,a[201];
	char str[101];
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++)
	{
		if (i>=m && i<n)
		{
			a[i+n]=*(a+i-m);
		}
		else a[i+n]=*(a+i+n-m);
	}
	for(i=0;i<n;i++)
	{
		if (i!=0)
		printf(" %d",a[i+n]);
		else printf("%d",a[i+n]);
	}
}
int main()
{
    int sz[1000],m,n,i,j;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++){
    scanf("%d",&sz[i]);
    }
    m%=n;
    for(j=0;j<m;j++){
       for(i=n-1;i>=0;i--){
         sz[i+1]=sz[i];
        }
       sz[0]=sz[n];
    }
    printf("%d",sz[0]);
    for(i=1;i<n;i++){
    printf(" %d",sz[i]);
    }
    return 0;
}
struct Node;
typedef struct Node *pNode; 
struct Node
{
    int x;
	pNode next;
};


pNode create()/*??head*/
{
	pNode p;
	p=(pNode)malloc(sizeof(struct Node));
	p->next=NULL;
	return p;
}

void sort(pNode head,int n)/*head???????n???*/
{
	pNode p=NULL,q=NULL,s=NULL;
    int i;
	for (i=1;i<=n;i++)
	{
	s=(pNode)malloc(sizeof(struct Node));
	scanf("%d",s->x);
    q=head;
	p=head->next;
	while (p)
	{
        if (p->x>=s->x)
			break;
		q=p;
		p=p->next;
	}
	q->next=s;
	s->next=p;
	}
	
}

void outputdata(pNode p)/*??head*/
{
    p=p->next;
	while(p->next)
	{
      printf("%d ",p->x);
	  p=p->next;
    }
	printf("%d",p->x);
}


pNode inputdata(int n)/*??head?????n???*/
{
	pNode q=NULL,p=NULL,head=NULL;
	int i;
	head=create();
	q=head;
	for (i=1;i<=n;i++)
	{p=(pNode)malloc(sizeof(struct Node));
	if (p!=NULL)
	 {
	 scanf("%d",&p->x);
     p->next=NULL;
	 q->next=p;
	 q=p;
	}
	}
	return head;
}

void del(pNode p,int k)/*??head??k???*/
{
	pNode q=NULL;
	q=p;
	p=p->next;
	while(p)
		if (p->x==k)
		{
			q->next=p->next;
			free(p);
			p=q->next;
		}
		else
		{q=p;p=p->next;}
}

pNode rinputdata(int n)/*??head,????n???*/
{
	pNode q=NULL,p=NULL,head=NULL;
    int i;
	head=create();
	for (i=1;i<=n;i++)
	{
		p=(pNode)malloc(sizeof(struct Node));
		if (p!=NULL)
		{
			scanf("%d",&p->x);
			p->next=q;
			q=p;
		}
	}
    head->next=q;
    return head;
}

void outputk(pNode p,int k)/*???k???*/
{
	int i=1;
    p=p->next;
	while(p)
	{
      if (i==k)
		 printf("%d",p->x);
	  p=p->next;
      i++;
	}
}

void change(pNode p,int n,int m)/*?head?n?????m???????*/
{
	int i=1;
	pNode q=NULL,s=NULL,head=NULL;
	q=p;
	head=p;
	p=p->next;
	while(p)
	{
		if (i==n-m+1)
			break;
		i++;
		q=p;
		p=p->next;
	}
	s=head;
	while(s->next)
		s=s->next;
	q->next=NULL;
	s->next=head->next;
	head->next=p;
}


int main()
{
    int m,n;
    pNode head=NULL;
    scanf("%d %d",&n,&m);
    head=inputdata(n);
    change(head,n,m);
	outputdata(head);

	return 0;
}
//************************************************************
//*????1000012912_004.cpp                                *
//*??????												 *
//*?????2010.12.09                                      *
//*???????    										 *
//************************************************************
int main()
{
	int n, m, num[200], *p = num;                //n?????m?????
	cin >> n >> m;          
	for ( p = num; p < num + n; p++ )
		if ( p + m >= num + n )                //???m????????n?
			cin >> *( p + m - n);
		else
			cin >> *(p + m);                   //????m?
	for ( p = num; p < num + n - 1; p++ )
		cout << *p << ' ';
	cout << *p << endl;
	return 0;
}
void main()
{
	int i,j,n,m,num[100],temp,*p;
	scanf("%d %d",&n,&m);
	for (i=0;i<n;i++) 
		scanf("%d",&j),num[i]=j;
	for (i=n-1;i>n-m-1;i--) 
	{
		temp=*(num+n-1-i+n-m);
		for (j=n-2-i+n-m;j>=n-1-i;j--) 
			*(num+j+1)=*(num+j);
		*(num+n-1-i)=temp;
	}
	p=num;
	for (;p-num<=n-1;p++)
	{
	 printf("%d",*p);
	 if (p-num==n-1) printf("\n");
	 else printf(" ");
	 }
}
int main()
{
	int a[100],b[100];
	int n,m;
	int i,j;

	scanf("%d",&n);
	scanf("%d",&m);
	for (i=0;i<n-m;i++)
	{
		scanf("%d",&a[i]);
	}
	for (j=0;j<m;j++)
	{
		scanf("%d",&b[j]);	
	}
	for (j=0;j<m;j++)
	{
		printf("%d ",b[j]);	
	}
	for (i=0;i<n-m-1;i++)
	{
		printf("%d ",a[i]);
	}
	printf("%d\n",a[n-m-1]);
	return 0;
}