semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void main()
{
  int n,m,i,a[101],b[101];
  scanf("%d%d",&n,&m);
  for(i=0;i<n;i++)
    {
      scanf("%d",&a[i]);
      if(i+m<n) b[i+m]=a[i];
      if(i+m>=n) b[i+m-n]=a[i];
    }
  for(i=0;i<n-1;i++)
   {printf("%d ",b[i]);}
  if(i==n-1) printf("%d",b[i]);
  
}
int main ()
{
	int a [105], n, m, i, j,t;
	int *p = a;
	cin >> n >> m;
	for (i = 0; i <= n - 1; i ++)
		cin >> a[i];
	for (i = 1; i <= m; i++)
	{
		t = *(p + n -1);
		for (j = n - 2;j >=0; j --)
			*(p + j + 1) = * (p + j);
		*(p) = t;
	}
	for (i = 0; i <= n - 1;i ++)
	{
		if (i !=  n - 1)
			cout << a[i] << " ";
		else
			cout << a[i];
	}
	return 0;
}
int main(int argc, char* argv[])
{
int n,m;
scanf("%d%d",&n,&m);
int a[100];
int i;
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
int pos=n-m;
for(i=0;i<n-1;i++){
printf("%d ",a[(pos+i)%n]);}
printf("%d\n",a[(pos+i)%n]);
	return 0;
}
int main()
{
	int n,m,i,a[100];
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{		
		scanf("%d",&a[i]);
	}
	for(i=0;i<2*n;i++)
	{
		if(i<n-m)
		{
			a[i+n]=a[i];
		}
	    else
	    {
		    a[m+i-n]=a[i];
	    }
	    if(i>=n+1)
	    {
		    a[i-m+1]=a[i];
	    }
	}
	for(i=0;i<n-1;i++)
	{
		printf("%d ",a[i]);
	}
	printf("%d",a[n-1]);
	return 0;
}
int arrange(int a[],int q,int p)
{
	int i,j,b[100];
	for(i=0;i<q;i++)
		b[i]=a[p-q+i];
	for(i=p-q-1;i>=0;i--)
		a[i+q]=a[i];
	for(i=0;i<q;i++)
		a[i]=b[i];

	return 0;
}

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

}
int main(int argc, char* argv[])
{
	int n,m,q,i,k;
	scanf("%d",&n);
	scanf("%d",&m);
	int *a=(int*)malloc(sizeof(int)*n);
    for (i=0;i<n;i++)
	{
	    scanf("%d",&a[i]);
	}
	for(k=0;k<n-m;k++)
	{
		q=a[0];
	     for(i=0;i<n-1;i++)
		 {
		     a[i]=a[i+1];
		 }
		 a[n-1]=q;
	}


	for (i=0;i<n-1;i++)
	{
	     printf("%d ",a[i]);
	}
	printf("%d",a[n-1]);
	return 0;
}
void main()
{int a[100],m,n,i,j,t=0;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(j=n-m;j<n;j++)
{if(t==0){printf("%d",a[j]);t=t+1;}
else printf(" %d",a[j]);}
for(j=0;j<n-m;j++)
printf(" %d",a[j]);}
int main()
{
    int a[101],n,i,m,j,s;
    scanf("%d %d",&n,&m);
    for(i=1;i<=n;i++)
    {
                     scanf("%d",&a[i]);
                     }
    for(i=m;i>0;i--)
    {
                    for(j=n;j>=n;j--)
                    {
                                     a[0]=a[j];
                                     a[j]=0;
                                     for(s=n;s>=1;s--)
                                     {a[s]=a[s-1];}
                                     }
                                     }
    printf("%d",a[1]);
    for(s=2;s<=n;s++)
    {
                     printf(" %d",a[s]);
                     }
    
}
int main(){
   int n,i,m;
   scanf("%d %d\n",&n,&m);
   int *sz=(int*)malloc(sizeof(int)*n);
     for(i=0;i<n-1;i++){
       scanf("%d",&sz[i]);
     }
       scanf("%d",&sz[n-1]);
       m=m%n;
   for(i=n-m;i<n;i++){
     printf("%d ",sz[i]);
   }
    for(i=0;i<n-m-1;i++){
       printf("%d ",sz[i]);
    }
      printf("%d",sz[n-m-1]);
  free(sz);
  return 0;
}
int main()
{
	int n;int m;scanf("%d %d",&n,&m);
	int a[100];
	int i;
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	int b[100];
	
	for(i=0;i<n;i++)
	{
		if(i<n-m)
		{
			b[i+m]=a[i];
		}
		else if(i>=n-m)
		{
			b[i-n+m]=a[i];
		}
	}
	for(i=0;i<n-1;i++){printf("%d ",b[i]);}printf("%d",b[n-1]);

	return 0;
}
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    int shu[100];
    for(int i=0;i<n;i++)
    {
            scanf("%d",&shu[i]);
    }
    int*p;
    p=&shu[n-1];
    int a;
    a=n-m;
    for(int i=0;i<m+n;i++)
    {
        p++;
        *p=shu[i];
    }
    for(int i=a;i<2*n-m-1;i++)
    {
        printf("%d ",shu[i]);
    }
    printf("%d",shu[2*n-m-1]);
    getchar();
    getchar();
    getchar();
    return 0;
}
int move(int a[100],int n,int m)
{
	int *p,end;
	end=*(a+n-1);
	for(p=a+n-1;p>a;p--)
	{
		*p=*(p-1);
	}
	*a=end;
	m--;
	if(m>0)
		move(a,n,m);
}
void main()
{
	int a[100],m,n,i;
	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]);
}
//**********************************
//***??????  1200012772   ****
//***???????             ****
//***???2012?12?7?        ****
//**********************************
int main()
{
	int n = 0, m = 0, a[101], *p = NULL, i = 0,temp = 0;
	cin >> n >> m;
	p = &a[1];
	for( ; p <= &a[n]; p++)
	{
		cin >> *p;
	}
	
	for (int i = 1; i <= m; i++)
	{
		temp = a[i];
		a[i] = a[n + i - m];
		for(int j = n + i - m; j >= i + 2; j--)
		{
			a[j] = a[j - 1];
		}
		a[i + 1] = temp;
	}
	cout << a[1];
	for (p = &a[2]; p <= &a[n]; p++)
		{
			cout <<' ' << *p;
		}
		cout << endl;
		return 0;
}
int main()
{
	int a[100],b[100],n,m,i,o,k,u,l;
	int *p;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	p=a;
	for(l=0;l<m;l++)
	{
		b[l]=*(p+n-m+l);
	}
	for(o=n-m-1;o>=0;o--)
	{
		*(p+o+m)=*(p+o);
	}
	for(k=0;k<m;k++)
	{
		*(p+k)=b[k];
	}
	printf("%d",a[0]);
	for(u=1;u<n;u++)
	{
		printf(" %d",a[u]);
	}
	return 0;
}
void move(int a[],int b[],int n,int m)
{
    int i;
    for(i=0;i<=n-1;i++)
    {
        if(i>=m)
            b[i]=a[i-m];
        else
            b[i]=a[n-m+i];
    }
}

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

return 0;
}
void jiaohuan(int a[],int i,int n,int m)
{
	int j,t,p,q;
	t=a[n-m+i];
	p=a[i];
	q=a[i+1];
	for(j=i;j<=n-m-1+i;j++)
	{
		a[j+1]=p;
		p=q;
		q=a[j+2];
	}
	a[i]=t;
}
int main()
{
	int a[110],m,n,i;
	scanf("%d %d",&n,&m);
	for(i=0;i<=n-1;i++)
		scanf("%d",&a[i]);
	for(i=0;i<=m-1;i++)
		jiaohuan(a,i,n,m);
	printf("%d",a[0]);
	for(i=1;i<=n-1;i++)
		printf(" %d",a[i]);
	printf("\n");
	return 0;
}
// Using recursive method

int data[1000] = {0};
int n = 0, m = 0;

void cir_move(int dir, int left, int right, int step) // moving direction, 0 for left, 1 for right
{
	/*
	cout << dir << ' ' << left << ' ' << right << ' ' << step << endl;
	for(int i = 1; i <= n; i++) cout << data[i] << ' ';
	cout << endl;
	cin.get();
	*/ // for Debuging
	if((left == right)||(step == 0)) return;
	int len = right - left + 1; // calculate length
	step = step % len;
	if(step > len / 2) // Equivalent Transformation of Problem
	{
		cir_move(dir ^ 1, left, right, len - step);
		return;
	}
	int j = 0, k = len - step;
	for(int i = left; i < left + step; i++)
	{
		j = data[i];
		data[i] = data[i + k];
		data[i + k] = j;
	}
	if(dir == 0) // move leftward
	{
		cir_move(dir, left, right - step, step);
	}else // move rightward
	{
		cir_move(dir, left + step, right, step);
	}
}

int main()
{
	cin >> n >> m;
	m = m % n;
	for(int i = 1; i <= n; i++) cin >> data[i];
	cir_move(1,1,n,m);
	cout << data[1];
	for(int i = 2; i <= n; i++) cout << ' ' << data[i];
}
int main()
{
	int m,n;
	scanf("%d %d",&n,&m);
	int u[100],i;
	for(i=0;i<=n-2;i++)
	{
		scanf("%d ",&u[i]);
	}
	scanf("%d",&u[n-1]);
	int *p;
	p=u+n-m;
	int k=0;
	while(k<n-1)
	{
		printf("%d ",*p);
		p++;
		p=(p-u)%n+u;
		k++;
	}

printf("%d",*p);
	return 0;
}
int main()
{
	int n, m, i, j, temp;
	int * array;
	scanf("%d %d", &n, &m);
	array = (int *)malloc(sizeof(int)*n);
	for (i=0; i<n; i++) {
		scanf("%d", &array[i]);
	}
	m = m % n;
	for (i=0; i<m; i++) {	
		temp = *(array+(n-1));
		for (j=n-1; j>0; j--) {
			*(array+j) = *(array+(j-1));
		}
		*(array+0) = temp;
	}
	for (i=0; i<n-1; i++) {
		printf("%d ", *(array+i));
	}
	printf("%d\n", *(array+i));
	free(array);
	return 0;
}
int main(int argc, char* argv[])

{

         int n,m,i,j;

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

         int * x=(int *)malloc(sizeof(int)*n);

         for(i=0;i<n;i++){

                   scanf("%d",x+i);

         }

         m = m % n;//???????

         int tmp;

         for(j = 0; j < m; j++)

         {

                   tmp=*(x+n-1);

                   for(i=n-1;i>0;i--)

                   {

                            *(x+i) = *(x+i-1);

                   }

                   *x=tmp;

         }

         for(i=0;i<n-1;i++){

                   printf("%d ",*(x+i));

         }

         printf("%d",*(x+i));

 

 

         free(x);

         return 0;

}
int a[100];
int main ( )
{
	void f(int *p,int n,int m);
	int *p,n,m;
	scanf("%d %d",&n,&m);
	for(p=a;p<a+n;p++)
		scanf("%d",p);
	p=a;
	f(p,n,m);
	for(p=a;p<a+n;p++)
	{
		if(p<a+n-1)
			printf("%d ",*p);
		else
			printf("%d\n",*p);
	}	
	return 0;
}
void f(int *p,int n,int m)
{
	int t;
	p+=n-1;
	t=*p;
	for(;p>a;p--)
		*p=*(p-1);
	*p=t;
	m-=1;
	if(m>0)
		f(p,n,m);
}
int main()
{
	int num[100],n,i,k,m;
	scanf("%d %d",&n,&m);	
	for(i=0;i<=(n-1);i++)
	{
		scanf("%d",&num[i]);
	}
	int*p=num;
	while(m!=0)
	{
		int t=*(num+n-1);
	    for(p=num+n-1;p>num;p--)
		    *p=*(p-1);
	    *p=t;
		m--;
	}
	for(k=0;k<n;k++)
	{
		if(k==0)printf("%d",num[k]);
		else printf(" %d",num[k]);
	}
	return 0;
}
void main()
{
	int a[100],i,j,m,n,t;
	int *p;
	p=a;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",p+i);
	for(i=n-m;i<n;i++)
	{
		t=*(p+i);
		for(j=i-1;j>i-1-n+m;j--)
			*(p+j+1)=*(p+j);
		*(p+i-n+m)=t;
	}
	for(i=0;i<n-1;i++)
		printf("%d ",*(p+i));
	printf("%d",*(p+n-1));
}
int main()
{
    int m,n,i,a[101],b[101];
    scanf("%d %d",&n,&m);   
    for(i=1;i<=n;i++)
    {
                     scanf("%d",&a[i]);
    }
    for(i=1;i<=n;i++)
    {
     if(i<=m)
     b[i]=a[n-m+i];
     else
     b[i]=a[i-m];
    }
    printf("%d",b[1]);
    for(i=2;i<=n;i++)
    {
                     printf(" %d",b[i]);
    }
    return 0;
}
/*
 * ????xunhuan.cpp
 * ??????
 * ?????2012 12 22
 * ?????????
 */



int main(){
	int m,n,i,j,t;
	cin >>n>>m;
	int a[n];
	for (i=0;i<n;i++)
		cin >>*(a+i);               //??
	for (i=1;i<=m;i++)
		for (j=1;j<=n-m;j++){
			t=*(a+n-m+i-j);
			*(a+n-m+i-j)=*(a+n-m+i-j-1);
			*(a+n-m+i-j-1)=t;
		}                            //????
	for (i=0;i<n;i++){
		if (i!=n-1)
		cout <<*(a+i)<<" ";
		else cout <<*(a+i);          //??
	}
	return 0;
}
void swap(int a[],int j);
int main()
{
	int i,j,m,n,a[101];
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=1;i<=m;i++)
	{
		for(j=n;j>1;j--)
		{
			swap(a,j);
		}
	}
	for(i=1;i<=n;i++)
	{
		if(i==1) printf("%d",a[i]);
		else printf(" %d",a[i]);
	}
}
void swap(int a[],int j)
{
	a[j]=a[j]-a[j-1];
	a[j-1]=a[j]+a[j-1];
	a[j]=a[j-1]-a[j];
}
//********************************
//*???1.cpp   **
//*???????    **
//*?????? 1300012838 **
//*???2013.12.11  **
//********************************

int num[110];

void movenum(int n)
{
    int *p = num + n;
    while (p > num)
    {
        *p = *(p-1);
        p--;
    }
    num[0] = *(p+n);
}

int main()
{
    int n, m;
    cin >> n >> m;
    for (int i = 0; i < n; i++)
        cin >> num[i];
    for (int i = 1; i <= m; i++)
        movenum(n);
    cout << num[0];
    for (int i = 1; i < n; i++)
        cout << " " << num[i];
    cout << endl;

    return 0;
}
main()
{
	int a[200];
	int i,j,m,n;
	scanf("%d %d",&n,&m);
	for (i=0;i<n;i++)
		scanf("%d",&a[i]);
	for (i=0;i<n-m;i++)
	{
		j=i+m+n;
		a[j]=a[i];
	}
	for (i=n-m;i<n;i++)
	{
		j=i+m;
		a[j]=a[i];
	}
	printf("%d",a[n]);
	for (i=n+1;i<2*n;i++)
		printf(" %d",a[i]);
	return(0);
}
int main()
{
	int a[105];
	int n,m;
	scanf("%d %d",&n,&m);
	for (int *w=a+m,i=0;i<n-m;i++,w++)
	{
		scanf("%d",w);
	}
	for (int *w=a,i=0;i<m;i++,w++)
	{
		scanf("%d",w);
	}
	for (int *r=a,i=0;i<n-1;i++,r++)
	{
		printf("%d ",*r);
	}
	printf("%d",*(a+n-1));
	return 0;
}
void change(int n,int m,int a[200])
{
	int *p=a,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 n,m,i,a[200];
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	change(n,m,a);
	for(i=0;i<n;i++)
	{
		printf("%d",a[i]);
		if(i!=n-1) printf(" ");
	}
}
void f(int *p,int n,int m)
{
 int i;
 for(i=(n-1);i>=0;i--)
 *(p+i+m)=*(p+i);
 for(i=n;i<(n+m);i++)
  *(p+i-n)=*(p+i);
}
int main()
{
 int *p,a[100],n,m,i;
  scanf("%d",&n);
  scanf("%d",&m);
 for(i=0;i<n;i++)
 scanf("%d",&a[i]);
 p=a;
 f(p,n,m);
 for(i=0;i<n;i++)
 { printf("%d",a[i]);
if(i!=(n-1)) printf(" ");}
 return 0;
}
void main()
{
	int a[1000],b[1000];
	int i,n,m;
	scanf("%d%d",&n,&m);
	for(i=0;i<n-m;i++)
	{
		scanf("%d", &a[i]);
	}
	for(i=0;i<m;i++)
	{
		scanf("%d", &b[i]);
	}
	for(i=0;i<m;i++)
	{
		printf("%d ", b[i]);
	}
	for(i=0;i<n-m-1;i++)
	{
		printf("%d ", a[i]);
	}
	printf("%d", a[n-m-1]);
}
int main(int argc, char* argv[])
{
	int n,m,i,j;
	int *p,*q;
	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=n-m,j=0;i<n;i++,j++){
		q[j]=p[i];
		printf("%d ",q[j]);
	}
	for (i=0;i<n-m;i++){
		q[m+i]=p[i];
		if (i!=n-m-1)
        printf("%d ",q[m+i]);
	}
    printf("%d",q[n-1]);
	return 0;
}
int main()
{
	int m,n;
	scanf("%d%d",&n,&m);
	int i,j,sz[n],a;
         int *ptr;
	for(i=0;i<n;i++){
		scanf("%d",&sz[i]);
	}
	for(j=0;j<m;j++){
                  ptr=&sz[n-1];
                  a=*ptr;
		for(i=n-1;i>0;i--){
			sz[i]=sz[i-1];
		}
                  sz[0]=a;
	}
	for(i=0;i<n-1;i++){
		printf("%d ",sz[i]);
	}
         printf("%d",sz[n-1]);
	return 0;
}
/**
 *???3.cpp
 *??????
 *???????
 *???12?10?
 */
int main()
{
	int n,m;
	cin>>n>>m;
	int a[102];
	int*p=a;
	for(;p<a+n;p++)
	{cin>>*p;}  //??????
	int temp;
	for(int i=0;i<m;i++)   //??m???
	{
	    for(p=a+n-m+i;p>a+i;p--) //?m????????
		{
			temp=*p;
			*p=*(p-1);
			*(p-1)=temp;
		}
		p=a;         //????a???
	}
	for(;p<a+n-1;p++) //????
	{
		cout<<*p<<' ';
	}
	cout<<*p<<endl;
return 0;
}
int main(){
	int n,m,i;
	int sz[100],sh[100];

	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++){
		scanf("%d",&sz[i]);
		sh[i]=sz[i];
	}
	for(i=0;i<n;i++){
	    if(i<=n-m-1){
			sz[m+i]=sh[i];}
		else{
			sz[i-n+m]=sh[i];}
	}
	for(i=0;i<n-1;i++){
	printf("%d ",sz[i]);
	}
	printf("%d",sz[n-1]);
	return 0;
}
void main()
{
	int a[200],i,n,m,k,h;
	scanf("%d %d",&n,&m);
	for(i=0;i<=n-1;i++)
		scanf("%d",&a[i]);
	for(i=0;i<=n-m-1;i++)
		a[n+i]=a[i];
	k=(n-m);
	h=(2*n)-m;
	for(i=k;i<h-1;i++)
		printf("%d ",a[i]);
	i=h-1;
	printf("%d",a[i]);
}
void main()
{
	int m,n;
	int a[100];int *p;
	void move(int *,int,int);
	int i;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	p=a;
	move(p,n,m);
	for(i=0;i<n-1;i++,p++)
		printf("%d ",*p);printf("%d\n",*p);
}

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

}
int f(int a,int n,int m)
{if(a<=m) return (a+n-m);
else return (a-m);}
void main()
{
	int i,n,m,a[100],j;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(j=0;j<m;j++)
	{
		if(j==0)
			printf("%d",a[j+n-m]);
		if(j!=0)
			printf(" %d",a[j+n-m]);
	}
	for(j=0;j<n-m;j++)
		printf(" %d",a[j]);
	printf("\n");
}
/*
 * 11.1.cpp
 *
 *  Created on: 2011-12-10
 *      Author: Administrator
 */
int main()
{
	int *p,a[203],i,n,m;
	p=a;
	cin>>n>>m;
	for(i=1;i<=n;i++)//??????
	{
		cin>>a[i];
	}
	for(i=n;i>=1;i--)//???????m???
	{
		p[i+m]=p[i];
	}
	for(i=1;i<=m;i++)//?????????
	{
		p[i]=p[i+n];
	}
	for(i=1;i<=n-1;i++)
	{
		cout<<p[i]<<" ";
	}
	cout<<p[n];
	return 0;
}
void UpsideDown (int *, int);
int main()
{
    int a[105], n, m,i;
    int *p=NULL;
     scanf("%d %d",&n,&m);
   for(i=0;i<n;i++)
      scanf("%d",&a[i]);
    p = a;
    UpsideDown(p, n);
    UpsideDown(p, m);
    UpsideDown(p+m, n-m);
    for(i=0;i<n-1;i++)
     printf("%d ",a[i]);
	printf("%d",a[n-1]);
    return 0;
}
void UpsideDown(int *a, int k)
{
    int temp;
    int *p, *q;
    for (p = a, q = a + k; p < q; p++, q--)
    {
        temp = *p; *p = *q; *q = temp;
    }
}
void move(int n,int m,int *p)
{
	int j;
	for(j=0;j<m;j++)
		*(p+j)=*(p+n+j);
	*(p+n)='\0';
}


void main()
{
	int a[100],n,m,i;
	int *p=a;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",p+m+i);
	move(n,m,p);	
	for(i=0;i<n-1;i++)
		printf("%d ",*(p+i));
	printf("%d",*(p+i));
}
int main()
{
    int n, m;
    cin >> n >> m;
    int a[2*n];
    int *p = NULL, *q = NULL;
    for ( p = a; p < a+n; p++ )
        cin >> *p;
    for ( q = a, p = a+n; q < a+n-m; p++, q++ )
        *p = *q;
    p = a+n-m;
    cout << *p;
    for ( p = a+n-m+1; p < a+n+n-m; p++ )
        cout << " " << *p;
    
    
    return 0;
}
int main()
{
	int a[101]={0};
	int n,m;
	scanf("%d %d", &n, &m);
	int i,j,num=0,p,q;
	for(i=0;i<n;i++)
	{
		scanf("%d", &a[i]);
	}
	for(i=0;i<n-m;i++)
	{
		num=a[i];
		a[n+i]=num;
	}
	p=n-m;
	q=2*n-m;
	for(i=p;i<q-1;i++)
	{
        printf("%d ", a[i]);
	}
	printf("%d", a[q-1]);
}
int main()
{
	int n,m,i,j,tr;
	int a[150];
	scanf("%d %d",&n,&m);
	for(i=1;i<=n;i++)
	{
		if(i==1)
			scanf("%d",&a[i]);
		if(i!=1)
			scanf(" %d",&a[i]);
	}
	for(i=n+1-m;i<=n;i++)
	{
		for(j=i;j>=i-(n-m)+1;j--)
		{
			tr=a[j];
			a[j]=a[j-1];
			a[j-1]=tr;
		}		
	}
	for(i=1;i<=n;i++)
	{
		printf("%d",a[i]);
		if(i!=n)
			printf(" ");
	}
}
void move(int a[],int n,int m);
int main ()
{
	int n,m;
	int a[100];
	scanf("%d%d",&n,&m);
	getchar();

	int *p;
	for(p=a;p<(a+n);p++)
		scanf("%d",p);
	move (a,n,m);
	for(p=a;p<(a+n-1);p++)
		printf("%d ",*p);
	printf("%d",*p);
	return 0;
}
void move(int a[],int n,int m)
{
	int *p,temp;
	temp=*(a+n-1);
	for(p=a+n-1;p>a;p--)
		*p=*(p-1);
	*a=temp;
	m--;
	if (m>0)
		move(a,n,m);
}
void main(){
int i,n,m;
	scanf("%d %d",&n,&m);
int *p=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
scanf("%d",p+i);
for(i=n-m;i<2*n-m;i++){
	printf("%d",*(p+i%n));
if(i==2*n-m-1)
break;
else printf(" ");
}
free(p);
}
int main()
{
	int n,m,i;
	int *a;

	scanf("%d %d",&n,&m);
	a = (int *)malloc(n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=n-m;i<n;i++)
	{
		printf("%d ",a[i]);
	}
	for(i=0;i<n-m-1;i++)
	{
		printf("%d ",a[i]);
	}
         printf("%d",a[n-m-1]);
	printf("\n");
	return 0;
}
//????

int main()
{
	int a[100],n,m,b;
cin>>n>>m;
for(int i=0;i<n;++i)
{
	cin>>b;
	a[(i+m)%n]=b;//??
}
for(int i=0;i<n-1;++i)
{       
        
	cout<<a[i]<<" ";
}
        cout<<a[n-1];//??????
	return 0;
}
void make(int *p1,int n,int m)
{
    int *p2,b[100]={0},i;
    p2=b;
    for (i=n-m;i<n;i++)
     *p2++=*(p1+i);
    for (i=n-m-1;i>=0;i--)
     *(p1+i+m)=*(p1+i);
    p2=b;
    for (i=0;i<m;i++)
     *(p1+i)=*(p2+i);
}
int main()
{
    int *p,a[100],i,n,m;
    scanf("%d%d",&n,&m);
    for (i=0;i<n;i++) scanf("%d",&a[i]);
    make(a,n,m);
    p=a;
    for (i=0;i<n-1;i++)
      printf("%d ",*p++);
    printf("%d",*p);
}
int main()
{
    int n,m,i,t;
    int a[200];
    scanf("%d %d",&n,&m);
    for (i=0;i<n;i++)
     scanf("%d",&a[i]);
    int l=0;
    while(l<m)
      {  
         t=a[n-1];       
         for (i=n-1;i>=1;i--)
         a[i]=a[i-1];
         a[0]=t;
         l++;
      } 
     for (i=0;i<n;i++)
       {
         if (i==0)
          printf("%d",a[i]);
         else
          printf(" %d",a[i]);
       }                  
     printf("\n");
     getchar();
     getchar();
}
int main()
{
	int str[ 111 ] , *p , n , m , i ;

	cin >> n >> m ;

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

	p = str + n ;

	//*p = '\0' ;

	//p = str + n - m ;

	for( i = 0 ; i < n - m ; i ++ )
	{
		*( p++ ) = *( str + i ) ;
		//cout << *(p-1) << ' ' ;
	}

	*p = '\0' ;

	p = str + n - m ;

	cout << *p ;

	for( p = str + n - m + 1 ; p < str + n + n - m ; p ++ )
		cout << ' ' << *p ;
	
	return 0 ;
}
int main()
{
    int a[200];
    int *p=a;
    int n,m;
    cin>>n>>m;
    for(int i=0;i<n;i++) cin>>a[i];
    for(int j=0;j<n-m;j++)               //??n-m?????? 
    {
            *(p+n)=*p;
            p++;
    }
    for(int k=n-m;k<2*n-m;k++)           //??n-m?????? 
    {
            if(k==2*n-m-1) cout<<a[k];
            else cout<<a[k]<<' ';
    }
    return 0;
}
int main(){
int m,n,i;
scanf("%d %d\n",&n,&m);
int sz[10000];
for(i=0;i<n;i++){
scanf("%d ",&sz[i]);}
for(i=n;i<n+n-m;i++){
sz[i]=sz[i-n];}
for(i=n-m;i<n+n-m-1;i++){
printf("%d ",sz[i]);}
printf("%d",sz[n+n-m-1]);
return 0;}
int a[102]; 
int main()
{   int *p=a;
	int n,m,temp;
	cin>>n>>m;
	for(int i=0;i<n;i++)
	cin>>*(p+i);
	while(m--)
	{   temp=*(p+n-1);
		for(int i=n-1;i>0;i--)
		 *(p+i)=*(p+i-1);
		*p=temp;
	}
	for(int i=0;i<n-1;i++)
	cout<<*(p+i)<<" ";
	cout<<*(p+n-1)<<endl;
}
int main ()
{
	int x[20];
	int *p;
	int n, m, i, j;
	scanf ("%d %d", &n, &m);
	p = (int *) malloc (sizeof (int) * n);
	for (i = 0; i < n; i++)
	{
		scanf ("%d", &x[i]);
	}
	j = 0;
	for (i = n - m ; i < n; i++)
	{
		*(p + j) = x[i];
        j++;
	}
	j = m;
	for (i = 0; i < n - m ; i++)
	{
		*(p + j) = x[i];
		j++;
	}
	for (i = 0; i < n; i++)
	{
		if (i != n - 1)
		{
			printf ("%d ", *(p + i));
		}
		else 
		{
			printf ("%d\n", *(p + i));
		}
	}
	free(p);
	return 0;
}
void main()
{
	int n,m,i,a[100],b[100],*p,j;
	scanf("%d%d",&n,&m);
	scanf("\n");
	for(i=0;i<n;i++)
	scanf("%d",&a[i]);
	p=b;
if(i=n-m)
{
	*p=a[i];
	printf("%d",*p);
}
	for(i=n-m+1;i<n;i++)
	{
		j=(i+m)%(n-1);
		*(p+j-1)=a[i];
	
		printf(" %d",*(p+j-1));
	}
	
	
	for(i=0;i<n-m;i++)
	{
		*(p+i+m)=a[i];
		printf(" %d",*(p+i+m));
	}

	
}
void main()
{
    int n,m,a[100],i,b[100],c[100];
	int *start,*qian,*hou;
	qian=b;
	hou=c;
	scanf("%d",&n);
	scanf("%d",&m);
	
	for (start=a;start<a+n;start++)
	{
	    scanf("%d",&*start);
	}                                      
    
    for (i=0;i<n-m;i++)
    *(qian+i)=a[i];
    for (i=n-m;i<n;i++)
    *(hou+i-n+m)=a[i];
    for (i=0;i<m;i++)
    a[i]=*(hou+i);
    for (i=m;i<n;i++)
    a[i]=*(qian+i-m);
    
    for (i=0;i<n-1;i++)
    printf("%d ",*(a+i));
    printf("%d",*(a+n-1));
}
void change(int n,int m,int a[100])
{
	int b[100],i;
	for(i=0;i<n;i++)
	{
		b[i]=a[i];
	}
	for(i=n-m;i<n;i++)
	{
		a[i-n+m]=a[i];
	}
	for(i=m;i<n;i++)
	{
		a[i]=b[i-m];
	}
}
int main()
{
	int n,m,i;
	int a[100];
	scanf("%d %d",&n,&m);
	getchar();
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	change(n,m,a);
	for(i=0;i<n-1;i++)
		printf("%d ",a[i]);
	printf("%d",a[n-1]);
	return 0;
}
int main()
{
	int n,i,m;
	int a[200];
	scanf ("%d %d",&n,&m);
	getchar();
	for (i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for (i=0;i<n-m;i++)
	{
		a[n+i]=a[i];
	}
	for (i=0;i<n-1;i++)
	{
		a[i]=a[n-m+i];
		printf ("%d ",a[i]);
	}
	a[n-1]=a[2*n-m-1];
	printf ("%d",a[n-1]);
	return 0;
}
//????????????
void move(int num[30],int n,int m)
{
	int *p;
	int end,j;
	end=*(num+n-1);
	for(j=1;j<=m;j++)
	{
		
		end=*(num+n-1);
		for(p=num+n-1;p>num;p--)
		{
			*p=*(p-1);
		}
			*num=end;
	}
	
}
/*void move(int num[30],int n,int m)
{
	int *p;
	int end;
	end=*(num+n-1);
	for(p=num+n-1;p>num;p--)
	{
		*p=*(p-1);
	}
		*num=end;
	m--;
	if(m>0)
	{
		move(num,n,m);
	}

}*/

int main()
{
	int n,m,i;
	int a[30];
	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++)
	{
		printf("%d",a[i]);
		if(i!=n-1)
		{
			printf(" ");
		}
	}
	return 0;
}
void main()
{
    int n,m,a[100],*p,i,t;
    scanf("%d %d",&n,&m);
    for(p=a;p<a+n;p++)
    scanf("%d",p);
    
    for(i=0;i<n-m;i++)
    {
    	t=a[0];
    	for(p=a;p<a+n-1;p++)
    	*p=*(p+1);
    	a[n-1]=t;
    }
    for(p=a;p<a+n-1;p++)
    printf("%d ",*p);
    printf("%d",a[n-1]);
}
move(int a[100],int n,int m)
{int *p,b;
 b=*(a+n-1);
 for(p=a+n-1;p>a;p--)
	 *p=*(p-1);
 *a=b;
 m--;
 if(m>0)
	 move(a,n,m);
}
int main(int argc, char* argv[])
{
	int n,m,a[100],i;
	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]);
    return 0;
}