semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{ const int max=100;
  int i,n,m,a[max];
  
  cin>>n>>m;
  for(i=m;i<n;i++) cin>>a[i];
  for(i=0;i<m;i++) cin>>a[i];
  cout<<a[0];
  for(i=1;i<n;i++) cout<<" "<<a[i];
  return 0;
}
int main(int argc, char* argv[])
{
	int n,m,i;
	int s[50];
	scanf("%d %d\n",&n,&m);
	for(i=0;i<n;i++){
		scanf("%d",&s[i]);
	}
	int *p;
	p=&s[n-1];
	for(i=0;i<m+n;i++){
		p++;
		*p=s[i];
	}	
	printf("%d",s[n-m]);
	for(i=n-m+1;i<2*n-m;i++){
		printf(" %d",s[i]);
	}
	return 0;
}
int main()
{
	int n, m, a[1000];
	cin >> n >> m;
	for (int i = 0; i < n; i++)
		cin >> a[i];
	cout << a[n - m];
	for (int i = n - m + 1; i < 2*n - m; i++)
		cout << ' ' << a[i % n];
	cout << endl;
    return 0;
}
int  main()
{
void change (int a[100],int n,int m);
int a[100],n,m,i;

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

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



void change (int a[100],int n,int m){
    int i,j,temp;
	for(i=0;i<m;i++){
            temp=a[n-1];
		for(j=0;j<n;j++){
		
			a[n-j-1]=a[n-j-2];
		}
	      a[0]=temp;
	}
 
}
// ????.cpp : ??????????????
//



int main()
{
	int n,m,i,j,*p,a[100];
	scanf("%d%d",&n,&m);
	for(i=0;i<=n-1;++i)
	{
		scanf("%d",&a[i]);
	}
	printf("%d",*(a+n-m));
	for(p=a+n-m+1;p<=a+n-1;++p) printf(" %d",*(p));
	for(p=a;p<=a+n-m-1;++p) printf(" %d",*(p));
	printf("\n");
	return 0;
}
int main()
{
    int a[110],b[110],i,n,m,j;
    scanf("%d%d",&n,&m);
    j=m;
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    i=0;
    while(j>0)
    {
       b[i]=a[n-j];
       j--;
       i++;
    }
    while(j<=0&&i<n)
    {
        b[i]=a[i-m];
        j--;
        i++;
    }
    for(i=0;i<n-1;i++)
    {
       printf("%d ",b[i]);
    }
    printf("%d",b[n-1]);
    return 0;
}
void main()
{
	int i,n,m,num[100];
	void move(int num[100],int n);
	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[n-1]);
}
void move(int num[100],int n)
{
	int t,j;
	t=num[n-1];
	for(j=n-1;j>0;j--)
		num[j]=num[j-1];
	num[0]=t;
}
int main()
{
	int n,t,m,a[200],i,j,k;
	cin>>n>>m;
	for (i=0;i<n;i++)
		cin>>a[i];
	while (m>0)
	{
		t=a[n-1];
		for (j=n-1;j>0;j--)
			a[j]=a[j-1];
		a[0]=t;m--;
	}
	cout<<a[0];
	for (k=1;k<n;k++)
		cout<<" "<<a[k];
	return 0;
}
int main()
{
	int n,m,num[100],k[100],t,p;
	cin>>n>>m;
	for(int i=0;i<n;i++)
		cin>>num[i];
	for(int i=0;i<m;i++)
	{
		p=num[n-1];
	for(int j=n-1;j>0;j--)
		num[j]=num[j-1];
	num[0]=p;
	}
    for(int i=0;i<n-1;i++)
		cout<<num[i]<<" ";
	cout<<num[n-1];
	return 0;
}
void main()
{
	int n,m,a[100],*p,i;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	p=a;
	p=&a[n-m];
	printf("%d",*p);
	for(i=1;i<m;i++)
		printf(" %d",*(p+i));
	p=a;
	for(i=0;i<(n-m);i++)
		printf(" %d",*(p+i));
}
void main()
{
	int n,k,i;
	int a[200];
	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++)
	{
		if(i>=0&&i<=(n-k-1))
		{
			a[i+100]=a[i];
		}
	    else if(i>=(n-k)&&i<=(n-1)) 
		{
		    a[i-n+k]=a[i];
		}
	}
	for(i=0;i<k;i++)
	{
		printf("%d ",a[i]);
	}
	for(i=100;i<=n-k+98;i++)
	{
		printf("%d ",a[i]);
	}
	printf("%d",a[n-k+99]);
}
int main()
{
    int a[100],b[100],m,n,i,j;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
    for(j=0,i=n-m;j<=m-1;j++,i++)
    b[j]=a[i];
    for(j=0;j<m;j++)
    {
        if(j==0)
        printf("%d",b[j]);
        else
        printf(" %d",b[j]);
    }
    for(i=0;i<n-m;i++)
    printf(" %d",a[i]);
    return 0;
}
void change ( int * ,int * );
int main()
{   
	int a[999];
	int n,m;
	int i;
	cin >> n >>m;
	for( i=0;i<n;i++)
		cin >> a[i];
	
	change(a,  a+n-1);
	change(a,  a+m-1);
	change(a+m,a+n-1);

	
	for(i=0;i<n;i++)
	{
		if( i==n-1 )
			cout<< a[i]<< endl;
		else
			cout << a[i] << ' ';
	}
	return 0;
}


void change( int  * a,int * b )
{
	int t;
	for(;a<b;a++,b--)
	{
		t=*a;
		*a=*b;
		*b=t;
	}
}
int main()
{
	int n,m;
	cin>>n>>m;
	int A[100];
	int B[100];
	for (int i=0;i<n-m;++i)
		cin>>A[i];
	for (int i=0;i<m;++i)
		cin>>B[i];
	for (int i=0;i<m;++i)
		cout<<B[i]<<" ";
	for (int i=0;i<n-m;++i)
	{
		if (i==n-m-1)
			cout<<A[i];
		else
		    cout<<A[i]<<" ";
	}
	return 0;
}
void main()
{
	int n,m,i,a[100]={0},t,temp,r;

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

	for(i=n-m;i<n;i++)
	{
		t=0;
		r=i;
		while(t<n-m)
		{
			temp=a[r];
			a[r]=a[r-1];
			a[r-1]=temp;
			t++;
			r--;
		}
	}
	
	printf("%d",a[0]);
	
	for(i=1;i<n;i++)
		printf(" %d",a[i]);
}
int main(){
	int i;
	int sz[100];
	int n,m;
	scanf("%d %d",&n,&m);
	for(i=0;i<n-m;i++){
		scanf("%d",&sz[m+i]);
	}
	for(i=0;i<m;i++){
		scanf("%d",&sz[i]);
	}
	for(i=0;i<n-1;i++){
		printf("%d ",sz[i]);
	}
	printf("%d",sz[n-1]);
	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;
}

void found(pNode p,int k)/*??head???k???*/
{
   pNode head=p;
   int ok=1;
   p=head->next;
   while(p)
   {
	   if (k==p->x)
	   {
		   printf("%d\n",p->x);
           ok=0;
	   }
	   p=p->next;
   }
   if (ok)
	   printf("No Found!");
}

pNode arrange(pNode p)
{
	pNode q=NULL,head=NULL,min=NULL,headnew=NULL,ppre=NULL,minpre=NULL,s=NULL;
	headnew=create();
	q=headnew;
	head=p;
    while (head->next)
	{
       	min=p=head->next;
		ppre=minpre=head;
		while(p)
	{
		 if (min->x>p->x)
		 {
			 min=p;
			 minpre=ppre;
		 }
		 ppre=p;
		 p=p->next;
	}
	s=(pNode)malloc(sizeof(struct Node));
	s->x=min->x;
    q->next=s;
	s->next=NULL;
	q=s;
	minpre->next=min->next;
	free(min);
    }
	return headnew;
}

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

	return 0;
}
int main()
{
	int i,j;
	int n,m;
	scanf("%d%d",&n,&m);
	int *a=(int *)malloc(sizeof(int)*n);
	for(i=0;i<n;i++)
	{
		scanf("%d",a+i);//a[i]====*a+i;
	}
	int t,t1;
	for(j=0;j<m;j++)
	{t=a[n-1];
		for(i=0;i<n;i++)
		{
			
			t1=a[i];
			a[i]=t;
			t=t1;
		}
	}
	for(i=0;i<n;i++)
	{
		printf("%d",a[i]);
		if(i<n-1)printf(" ");
	}
	return 0;
}
/*
 * ????.cpp
 *
 *  Created on: 2012-12-19
 *      Author: ??
 *      ???????????????????????????????????????n????????????????m????
 *      ????m????????m??(m<n)?

 ??????????m???????n-m??????????????????????

 ????????????????????????????????????????????

 ??????????????????????????????
 */
int main() {
	int a[110], i, m, n, *p;
	cin >> n >> m;
	for (i = 0; i < n; i++)
		cin >> a[i];//????
	for (p = a + n - 1; p >= a; p--)
		*(p + m) = *p;//????????m?
	for (p = a; p < (a + m); p++)
		*p = *(p + n);//???????
	p = a;
	cout << *p;//??
	for (i = 1; i < n; i++)
		cout << ' ' << *(p + i);//??
	return 0;
}
/*
 * xunhuanyidong.cpp
 *
 *  Created on: 2012-12-14
 *      Author: asus
 */

int main()
{
    int n = 0, m = 0;
    int a[205] = {0};
    cin >> n >> m;
    for(int i = 1; i <= n; i++)
        cin >> *(a + i);
    for(int i = m + n; i >= m + 1; i--)//??
        *(a + i) = *(a + i - m);
    for(int i = 1; i <= m ; i++)
        *(a + i) = *(a + i + n);
    for(int i = 1; i < n; i++)
        cout << *(a + i) << " ";
    cout << *(a + n) << endl;
    return 0;
}
void main()
{
	int num1[100],num2[100]={0},a[100];
	int n,m,i,j;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d ",&num1[i]);
         	for(i=0;i<n-m;i++)
	 num2[i+m]=num1[i];
	for(i=0;i<m;i++)
	 num2[i]=num1[n-m+i];
	for(i=0;i<n-1;i++)
	 printf("%d ",num2[i]);
	printf("%d",num2[n-1]);
}
void error(int *p,int *q,int m,int n)
{
	int i;
	for(i=0;i<m;i++)
		*(q+i)=*(p+n-m+i);
	for(i=0;i<n-m;i++)
		*(q+m+i)=*(p+i);
}
main()
{
	int a[100],b[100],*p,*q,m,n,i;
	p=a;
	q=b;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",p+i);
	}
	error(p,q,m,n);
	for(i=0;i<n-1;i++)
		printf("%d ",b[i]);
	printf("%d\n",b[n-1]);
}
void move(int a[100],int n,int m)
{
	int temp,i;
	temp=a[n-1];
	for(i=n-1;i>=1;i--)
		a[i]=a[i-1];
	a[0]=temp;
	
	m--;
	if(m>0) move(a,n,m);
}

void main()
{
	int number[100],n,m,i;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&number[i]);
	move(number,n,m);
	printf("%d",number[0]);
	for(i=1;i<n;i++)
		printf(" %d",number[i]);
}
int main()
{
	int m,n,i,j,k;//?? ????????????????? 
	cin>>n>>m;//???????? 
	int a[2*n];//???? 
	for(i=0;i<n;i++)//?????? 
	{
		cin>>a[i]; 
	}
	for(j=n-m;j<n;j++)//??m??????m??? 
	{
		a[j+m]=a[j];
	}
	for(k=0;k<n-m;k++)//??n-m??????m+n? 
	{
	    a[k+m+n]=a[k];	
	}
	for(j=n;j<2*n-1;j++)//???2n-1? 
	{
		cout<<a[j]<<" ";
	}
	cout<<a[2*n-1];//?????? 
return 0;	
}
/*************************
??cpp1
????
???
2013/12/11
**************************/
int main()
{
	int a[103], *p = NULL, n, m, i, j, temp;
	cin >> n >> m;
	p = a;
	for (i=1; i<=n; i++)
		cin >> *p++;
	for (i=1; i <= m; i++)
	{
		temp = * (a+n-1);
		for (j=n-1; j>=1 ; j--)
			* (a+j) = * (a+j-1);
		*a = temp;
	}
	p = a;
	cout << *p;
	for (i=1; i <= n-1; i++)
		cout <<" " << * (++p);
	return 0;
}
int main()
{
    int a[200],i,n,m;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	    if(i<n-m)
			a[i+m+n]=a[i];
		if(i>=n-m)
			a[i+m]=a[i];
	}
	for(i=0;i<n-1;i++)
	     printf("%d ",a[i+n]);
	printf("%d",a[2*n-1]);
return 0;
}
int reserve(int *self,int start,int end)
{
    int temp;
    if(end-start>0)
    {
        temp=self[start];
        self[start]=self[end];
        self[end]=temp;
        reserve(self,start+1,end-1);
    }
}

void main()
{
    int n,m,i;
    int num[50];
    scanf("%d%d",&n,&m);
    for (i=0;i<n;i++)
        scanf("%d",&num[i]);
    reserve(num,0,n-1);
    reserve(num,0,m-1);
    reserve(num,m,n-1);
    printf("%d",num[0]);
    for (i=1;i<n;i++)
        printf(" %d",num[i]);
}
int main()
{
	int m,n,i,j;cin>>n>>m;int a[n];
	for (i=0;i<n;i++) cin>>a[i];
	const int *p[n],*q[m];//???????????
	for (i=0;i<n;i++) p[i]=&a[i];
	for (j=n-m;j<n;j++) q[j-n+m]=&a[j];//????
	for (i=0;i<m;i++) cout<<*q[i]<<' ';
	for (j=0;j<n-m-1;j++) cout<<*p[j]<<' ';cout<<*p[n-m-1]<<endl;//?????????????????
	return 0;
}
int main(){
int n,m,i,a[100],b[100],*p;
p=b;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++){
if(i<n-m) *(p+i+m)=a[i];
else *(p-n+i+m)=a[i];}
for(i=0;i<n-1;i++)
printf("%d ",b[i]);
printf("%d",b[n-1]);
return 0;}
int main(){
	int a[100],*p=NULL,*q=NULL,i,n,m,x;
	cin>>n>>m;
	for(i=0;i<n;i++)cin>>a[i];
	for(i=1;i<=m;i++){
		x=a[n-1];
		p=&a[n-1];
		for(;p!=&a[0];p--) *p=*(p-1);
		*(p--)=x;
	}
	for(i=0;i<n-1;i++)cout<<a[i]<<" ";
	cout<<a[i];
	return 0;
}
void move(int a[],int *p,int n,int m)
{
	for(p=a;p<a+n-m;p++)
	    *(p+n)=*p;
	for(p=a+n-m;p<a+n;p++)
		*(p-n+m)=*p;
	for(p=a+n;p<a+2*n-m;p++)
		*(p-n+m)=*p;
}
int main()
{
	int m,n,i;
	int a[100],*p;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	p=a;
	move(a,p,n,m);
	for(p=a;p<a+n;p++)
	{
		printf("%d",*p);
		if(p!=a+n-1)printf(" ");
	}
}
int s[1000]={0};
int main()
{
	int m,n,i;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	{
		scanf("%d",&s[i]);
	}
	for(i=n-1;i>=0;i--)
	{
		s[i+m]=s[i];
	}
	for(i=0;i<m;i++)
	{
		s[i]=s[i+n];
	}
	printf("%d",s[0]);
	for(i=1;i<n;i++)
	{
		printf(" %d",s[i]);
	}
    return 0;
}
int main()
{
	int a[100],i,k,n,m;
	scanf("%d %d",&n,&m);
	for(k=0;k<n;k++)
		scanf("%d",&a[k]);
	for(i=n-m;i<n;i++)
	{
		if(i==n-m)
			printf("%d",a[i]);
		else
		printf(" %d",a[i]);
	}
	for(i=0;i<n-m;i++)
		printf(" %d",a[i]);

	return 0;
}
int main()
{
    int a[100];
    int i;
    int m,n;
    cin>>m>>n;
    for(i=0;i<m;i++)
    {
       cin>>a[i];
    }
    int b[100];
    for(i=0;i<m;i++)
    {
      *(b+i)=*(a+i);
    }
    
    int *p=a;
    for(i=0;i<=m-n-1;i++)
    {
        *(p+i+n)=*(b+i) ;                               
    }
    for(i=0;i<n;i++)
    {
         *(p+i)=*(b+m-n+i);
    }
    for(i=0;i<m;i++)
    {  
       
       if(i!=0)
       cout<<" ";             
       cout<<*(p+i);
       
    }
   
    return 0;
}
int a[100],n,m;
int main()
{
    int i;
    scanf("%d%d",&n,&m);
    for(i=0;i<n-m;i++)
    {
        scanf("%d",a+m+i);
    }
    for(i=0;i<m;i++)
    {
        scanf("%d",a+i);
    }
    for(i=0;i<n;i++)
    {
        printf("%d",a[i]);
        if(i<n-1)   putchar(' ');
    }
    putchar('\n');
    return 0;
}
/*************************
 ***??:??? 1200012776
 ***????:????
 ***??:2012?12?5?
 *************************/
int n, m, a[100];
void daoxu(int *s, int *e)	//????s???e?????
{
	int temp;
	for (; s < e; s++, e--)
	{
		temp = *s;
		*s = *e;
		*e = temp;
	}
}
int main()
{
	int i, *p = a;
	cin >> n >> m;
	for (i = 0; i < n; i++)
	{
		cin >> *p++;
	}
	daoxu(a, a + n - m - 1);	//?????????0?n-m-1??,??n-m?n-1??,?????0?n-1??
	daoxu(a + n - m, a + n - 1);
	daoxu(a, a + n - 1);
	p = a;
	cout << *p++;
	for (; p < a + n; p++)
	{
		cout << " " << *p;
	}
	cout << endl;
	return 0;
}
void move(int n,int m,int a[100])
{
         int i;
         for(i=n-1;i>=0;i--)
             a[i+m]=a[i];
         for(i=0;i<=m-1;i++)
              a[i]=a[n+i];
         for(i=0;i<n-1;i++)
         printf("%d ",a[i]);
         printf("%d",a[n-1]);
}
         
void main()
{
	int n,m,i,a[100]={0};
	scanf("%d %d",&n,&m);
	for(i=0;i<=n-1;i++)
	scanf("%d",&a[i]);
         move(n,m,a);
}
int main()
{
	int i,j,n,m,num[100],a,t;
	cin>>n>>m;
	for(i=0;i<n;i++)
		{cin>>a;
	num[i]=a;}
	for(i=n-m-1;i<n-1;i++)
	{
		for(j=i;j>=i+m+1-n;j--)
		{
			t=num[j];num[j]=num[j+1];num[j+1]=t;}}
	for(i=0;i<n-1;i++)
		cout<<num[i]<<' ';
	cout<<num[n-1];
	return 0;
}
int main ()
{
	int n, m, i, a[101] = {0};
	int *p = NULL;
	cin >> n >> m;
	for (i = 1; i <= n; i++)
	{
		cin >> a[i];
	}
	cout << a[n - m + 1];
	p = &a[n - m + 2];
	while (p <= &a[n])
	{
		cout << ' ' << *p++;
	}
	p = &a[1];
	while (p <= &a[n - m])
	{
		cout << ' ' << *p++;
	}
	return 0;
}
int main()
{
	int x[101],n,m,i,j;
	cin>>n>>m;
	for(i=0;i<n;i++)
	{
		cin>>x[i];
	}
	for(j=1;j<=m;j++)
	{
		for(i=n;i>=1;i--)
		{
			x[i]=x[i-1];
		}
		x[0]=x[n];
	}

	for(i=0;i<n;i++)
	{
		if(i!=(n-1))
		{
			cout<<x[i]<<" ";
		}
		else
		{
			cout<<x[i]<<endl;
		}
	}
	return 0;
}
main()
{
	void move(int a[],int n,int m);
	int a[100],n,m,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;i++)
		printf("%d%c",a[i],(i==n-1)?'\n':' ');
}
void move(int a[],int n,int m)
{
	int *p,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 n,m,a[100],i,b;
	cin>>n>>m;
	for(i=0;i<n;i++)
		cin>>*(a+i);
	while(m>0){
	b=*(a+n-1);
	for(i=n-1;i>0;i--)
		*(a+i)=*(a+i-1);
	*a=b;
	m--;
	}
	for(i=0;i<n-1;i++)
		cout<<*(a+i)<<" ";
	cout<<*(a+n-1);
	
}
int main()
{ 
	int n, m;
	scanf("%d%d", &n,&m); 
	int*num=(int*)malloc(sizeof(int)*(n+m)); 
	for(int i=m;i<m+n;i++) {  
		scanf("%d", &num[i]); } 
	for(int i=n;i<m+n;i++) {  
		num[i-n]=num[i]; } 
	printf("%d", num[0]);
	for(int i=1;i<n;i++) { 
		printf(" %d", num[i]); } 
	free(num); 
	return 0;
}
void shift(int *ptr,int n);    //????
int main()                     //?????
{
	int m,n,i;
	int a[100],*pta=NULL;      //???????
	cin>>n>>m;
	for(i=0;i<n;i++){          //???????
		cin>>a[i];
	}
	pta=a;                     //??????a??????
          shift(pta,n);              //??shift????????????
	shift(pta,m);              //??m?????
	shift(pta+m,n-m);          //??n-m?????
	for(i=0;i<n-1;i++){
		cout<<pta[i]<<" ";     //????
	}
	    cout<<pta[i];

	return 0;
}


void shift(int *pta,int n)
{
	int *p=NULL,*q=NULL,temp;  //????
	p=pta;
	q=pta+n;
	while(p<q){                //???????
          temp=*p;
		  *p=*q;
		  *q=temp;
		  p++;
		  q--;
	}
}
int main()
{
 int a[200],n,m,i,j;
 scanf("%d%d",&n,&m);
 for(i=0;i<n;i++){
  scanf("%d",&a[i]);
  }
  for(i=0;i<n-m;i++){
 a[n+m+i]=a[i];
 }
for(i=n-m,j=0;i<n;i++,j++){
 
  a[n+j]=a[i];

}
  for(i=n;i<(2*n-1);i++){
  printf("%d ",a[i]);
  }
 printf("%d",a[2*n-1]);
 return 0;
}
void main()
{
int m,n,i,a[200],*p=a;
scanf("%d%d",&n,&m);
p=p+m;
for(i=1;i<=n-m;i++)
{
scanf("%d",p);
p++;
}
p=a;
for(i=1;i<=m;i++)
{
scanf("%d",p);
p++;
}
        p=a;
for(i=0;i<=n-2;i++)
{
printf("%d ",*p);
                p++;
}
printf("%d",*p);
}
//********************************************************
//*  ???1000012846_4.cpp  *****************************
//*  ??:??  ******************************************
//*  ?????2010?12?  *******************************
//*  ?????????  *********************************
//********************************************************
int main()
{
	int n,m,i,a[200]={0};
	cin>>n>>m;
	for(i=0;i<n;i++)
		cin>>a[i];
	int *p=a+n-1,*q=a+n-m;
	for(i=0;i<n-m;i++)
	{
		p+=1;
		*p=a[i];
	}
	for(i=0;i<n-1;i++)
	{
		cout<<*q<<" ";
		q+=1;
	}
	cout<<*q<<endl;
	return 0;
}
void move(int a[],int n,int m)
{
	int last,*p;
	last=*(a+n-1);
	for(p=a+n-1;p>a;p--)
	*p=*(p-1);
	*p=last;
	m--;
	if(m>0) move(a,n,m);
}
void main()
{
	int i,a[100],*p=a,n,m;
	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[i]);
}
int main()
{
	int n,m,i;
	int a[100];
	int *p[100];
	cin>>n>>m;
	for(i=0;i<n;i++)
	{
		cin>>a[i];
		p[i]=&a[i];
	}
	for(i=0;i<n-m;i++)
	{
		p[i+m]=&a[i];
	}
	for(i=0;i<m;i++)
	{
		p[i]=&a[n-m+i];
	}
	for(i=0;i<n-1;i++)
	{
		cout<<*p[i]<<" ";
	}
	cout<<*p[n-1]<<endl;
	return 0;
}
void main()
{
	int n,m,i,a[100],k;
	scanf("%d %d\n",&n,&m);
	for(i=1;i<=n;i++)
		scanf("%d\n",&a[i]);
	for(i=1;i<=n;i++)
	{if(i<=m)
	k=a[n-m+i];
	else
	k=a[i-m];
	if(i==n)
	printf("%d\n",k);
	else
	printf("%d ",k);
	}
}
int main(int argc, char* argv[])
{
	int m,n,i,j,t,*p;
	scanf("%d%d",&n,&m);
	p=(int*)malloc(sizeof(int)*n);

	for(i=0;i<n;i++)
		scanf("%d",(p+i));
	
	for(i=0;i<m;i++){
		t=*(p+n-1);
	    for(j=n-1;j>=1;j--){
			*(p+j)=*(p+j-1);
		}
		*p=t;
	}

	for(i=0;i<n-1;i++)
		printf("%d ",*(p+i));
		printf("%d",*(p+n-1));
	  
	printf("\n");
	free(p);
	return 0;
}
void main()
{
	int n,m,i;
	int x[100];
	int *p,*head;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++)
		scanf("%d",&x[i]);
	head=&x[0];
	p=&x[n-m];
	for(i=0;i<m;i++,p++)
		printf("%d ",*p);
	for(i=0;i<n-m-1;i++,head++)
		printf("%d ",*head);
	printf("%d\n",*(head++));
}
int main()
{
    int sz[100];
    int n,i,o,e;
    cin >> n;
    cin >> o;
    for(i=0;i<n;i++)
     {
       cin >> sz[i];
     }
    int j;
    for(j=n-1;j>=0;j--)
     {   
       sz[j+o]=sz[j];
     }
    int k;
    for(k=0;k<o;k++)
     {
       sz[k]=sz[k+n];
     }
    for(e=0;e<n-1;e++)
    cout << sz[e] <<" ";
    cout << sz[n-1];

    return 0;
}
void main()
{         void change(int x[],int y,int z);
	      int a[100],n,m,i;
		  scanf("%d %d",&n,&m);
		  for(i=0;i<n;i++)
			  scanf("%d",&a[i]);
			  change(a,n,m);
		  for(i=0;i<n-1;i++)
			  printf("%d ",a[i]);
		  printf("%d",a[n-1]);
}
void change(int x[],int y,int z)
{
	int *p,*h;
	h=x;
	for(p=h+y-1;p>=h;p--)
		*(p+z)=*p;
	for(p=h;p<=h+z-1;p++)
		*p=*(p+y);
}
int main(){   
    int n,l,i,an[1000];   
    int *p;   
    cin>>n>>l;   
    for(i = 0;i < n;i ++){   
        cin>>an[i];   
    }   
    p = an + n - l;   
    do{   
        cout<<*p<<" ";   
        p ++;   
        if(p > an + n - 1){   
            p = an;   
        }   
        if(p == an + n - l-1){   
            break;   
        }   
    }while(p <= an + n -1);   
    cout<<*(an+n-l-1)<<endl;   
    return 0;   
}
void main()
{
	int m,n,i,a[100],*p[100];
	scanf ("%d %d",&n,&m);
	for (i=0;i<n;i++)
	{
		scanf ("%d",&a[i]);
		p[i]=&a[i];
	}
	for (i=0;i<n-m;i++)
	{
		p[i+m]=&a[i];
	}
	for (i=n-m;i<n;i++)
	{
		p[i-n+m]=&a[i];
	}
	for (i=0;i<n-1;i++)
		printf("%d ",*p[i]);
	printf("%d\n",*p[n-1]);
}
void change(int *a,int n)
{
	int *p,t;
	p=a+n-1;
	t=*p;
	for(;p!=a;p--)
		*p=*(p-1);
	*p=t;
}

void main()
{
	int n,m,i,j;
	scanf("%d %d",&n,&m);
	int *a;
	a=LEN;
	for(i=0;i<n;i++)
		scanf("%d",a+i);
	for(j=0;j<m;j++)
		change(a,n);
	for(i=0;i<n-1;i++)
		printf("%d ",*(a+i));
	printf("%d\n",*(a+i));
}
int main()
{
	int n,m,i,j,a[101],t;
	{
		cin>>n>>m;
		for(i=0;i<n;i++)
		{
			cin>>a[i];
		}
		for(i=0;i<m;i++)
		{
			t=a[n-m+i];
			for(j=n-m-1+i;j>i-1;j--)
			{
				a[j+1]=a[j];
			}
			a[i]=t;
		}
		for(i=0;i<n;i++)
		{
			if(i!=n-1)
			{
			   cout<<a[i]<<" ";
			}
			else
			{
				cout<<a[i];
			}
		}
	}
	return 0;
}
void main()
{
	int i,m,n,*a,*b;
	scanf("%d %d",&n,&m);
	a=(int*)malloc(n*sizeof(int));
	b=(int*)malloc(n*sizeof(int));
	for(i=0;i<n;i++) scanf("%d",a+i);
	for(i=0;i<n-m;i++)*(b+i)=*(a+i);
	for(i=0;i<m;i++)*(a+i)=*(a+n-m+i);
	for(i=0;i<n-m;i++)*(a+m+i)=*(b+i);
	for(i=0;i<n-1;i++)printf("%d ",*(a+i));printf("%d\n",*(a+i));
	free(a);free(b);
}
int main ()
{
	int m, n, i,j = 0, k = 0;
	int *p = NULL;
	int a[200];
	cin >> n >> m;
	for(i = 0; i < n; i++)
		cin >> a[i];
	for(i = n; i < 2 * n - m; i++)
		a[i] = a[j ++];
	
	p  = a + n - m;
	for(i = 0; i < n - 1; i++)
	cout << *p++<< " ";
	cout << *p << endl;
	return 0;
}
/************************/
/*     ??????     */
/*    ??? pyyaoer    */
/*   ??  2011.12.4    */
/************************/
int main()
{
	int c[1000],n,m;
	int *p=NULL;
	cin>>n>>m;
	p=c;
	for (;p<=c+n-1;p++)         //?????
		cin>>*p;
	for (p=c+n-1;p>=c;p--)      //???????m?
		*(p+m)=*p;
	for (p=c;p<=c+m-1;p++)      //?m???????n?
		*p=*(p+n);
	p=c+1;
	cout<<*c;
	while (p<=c+n-1)            //????
		cout<<" "<<*p++;
	cout<<endl;
	return 0;
}
int main()
{
int a[100],b,c,i,j,temp;
scanf("%d%d",&b,&c);
for(i=0;i<b;i++)
scanf("%d",&a[i]);
for(i=0;i<b-c;i++)
{
temp=a[0];
for(j=0;j<b-1;j++)
a[j]=a[j+1];
a[j]=temp;
}
cout<<a[0];
for(i=1;i<b;i++)
cout<<" "<<a[i];
printf("\n");
return 0;
}
void sort(int array[],int n,int m)
{
	int i,r;
	for(i=1;i<=m;i++)
	{
		int k,j;
		k=array[n-1];
		for(j=n-1;j>=1;j--)
			array[j]=array[j-1];
		array[0]=k;
	}
	printf("%d",array[0]);
	for(r=1;r<n;r++)
		printf(" %d",array[r]);
}
void main()
{
	int n,m,a,f[100];
	scanf("%d %d",&n,&m);
	for(a=0;a<n;a++)
		scanf("%d",&f[a]);
	sort(f,n,m);
}
void swap(int * a,int * b,int n){
    int *c=a;
    a=b;
    b=c;
    
}

void backward(int * pointer,int n){
    for (int i=n-1; i>0; i--) {
        swap(*(pointer+i), *(pointer+i-1));
    }
}

int main(){
    int n,time;
    cin>>n>>time;
    int line[120];
    for (int i=0; i<n; i++) {
        cin>>line[i];
    }
    int *p_1=line;
    for (int i=1; i<=time; i++) {
        backward(p_1, n);
    }
    cout<<*p_1;
    for (int i=1; i<n; i++) {
        cout<<' '<<*(p_1+i);
    }
}
int main()
{int n, m, a[100], b[100], *p, i, j, t, k;

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

p=&a[n-m];
for(i=n-m;i<n;i++)
{b[i-n+m]=*(p++);}

for(j=0;j<m;j++)
{
	for(i=j,t=a[i];i<n;i++)
	{
		k=a[i+1];
		a[i+1]=t;
		t=k;
	}
}

for(i=0;i<m;i++)
{a[i]=b[i];}

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

}