#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
	int N,A,b,broj1,broj2,uk,razlika,ostatak,rezerva,br,osos,k,e=0,g=0,f=0,nn;
	scanf("%d%d",&N,&A);
	b=N/A;
	broj1=A+1;
	broj2=A-1;
	switch(b)
	{
	case 1: if(b<3) printf("-1");break;
	case '4': uk=6*A; ostatak=N-uk;osos=ostatak-A; nn=ostatak; if((ostatak>=A)&&(osos!=A-1)) {
		printf("%d %d\n%d %d\n%d %d\n%d %d\n",broj1,broj2,broj2,broj1,broj1,broj2,A,osos);
			  } else{
				  if(ostatak>=A){
					  printf("%d %d\n%d %d\n%d %d\n%d %d\n",broj1+1,broj2+1,broj2,broj1,broj1,broj2,A,osos-2);
				  }
				  else{
					  if(ostatak+2>=A){
						  k=ostatak+2-A;
						  printf("%d %d\n%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1,broj2,broj1,broj1,broj2,A,k);}
					  else{
						  if(ostatak+4>=A) {
							  k=ostatak+4-A;
							  printf("%d %d\n%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1,broj2-1,broj1-1,broj1,broj2,A,k);
						  }
						  else { if(ostatak+=6>=A){
							  k=ostatak+6-A;
							  printf("%d %d\n%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1,broj2-1,broj1-1,broj1-1,broj2-1,A,k);
						  for(nn;nn<=A;nn++)
						  {
							  f++;
						  }
						  if(f>A){
							  f=f-A;
							  if(f>A){
								  f=f-A;
								  printf("%d 0\n0 %d\n%d %d\n%d %d\n",broj1-1,broj1-1,broj2-1-f,broj1-1,A,k);
							  }
							  else printf("%d 0\n%d %d\n%d %d\n%d %d\n",broj1-1,broj1-1,broj2-1-f,broj2-1,broj1-1,A,k);
						  }
						  else printf("%d %d\n%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1-f,broj1-1,broj2-1,broj2-1,broj1-1,A,k);
						  }
						  }
					  
					}
			  }
			  break;
	case '3': uk=4*A; ostatak=N-uk;osos=ostatak-A;nn=ostatak; if((ostatak>=A)&&(osos!=A-1)) {
		printf("%d %d\n%d %d\n%d %d\n",broj1,broj2,broj1,broj2,A,osos);
			  }
			  else{
				  if(ostatak>=A){
					  printf("%d %d\n%d %d\n%d %d\n",broj1+1,broj2+1,broj1,broj2,A,osos-2);
				  }
				  else{
					  if(ostatak+2>=A){
						  k=ostatak+2-A;
						  printf("%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1,broj1,broj2,A,k);}
					  else{
						  k=ostatak+4-A;
						  if(ostatak+4>=A) printf("%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1,broj1-1,broj2-1,A,k);
						  else{
							  for(nn;nn<=A,nn++;){
								  e++;
							  }
							  if(e>A){
								  e=e-A;
								  printf("%d 0\n%d %d\n%d %d",broj1-1,broj1-1,broj2-1-e,A,k);
							  }
							  else printf("%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1-e,broj1-1,broj2-1,A,k);
						  }
						  }
					  }
				}
			  break;
	default: uk=8*A; ostatak=N-uk; ostatak=N-uk;osos=ostatak-A;nn=ostatak; if((ostatak>=A)&&(osos!=A-1)){
		printf("%d %d\n%d %d\n%d %d\n%d %d\n%d %d\n",broj1,broj2,broj2,broj1,broj1,broj2,broj2,broj1,A,osos);
			 } else{
				 if(ostatak>=A){
					 printf("%d %d\n%d %d\n%d %d\n%d %d\n%d %d\n",broj1+1,broj2+1,broj2,broj1,broj1,broj2,broj2,broj1,A,osos-2);
				 }
				 else{
					 if(ostatak+2>=A){
						 k=ostatak+2-A;
						 printf("%d %d\n%d %d\n%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1,broj2,broj1,broj1,broj2,broj2,broj1,A,k);
					 }
					 else{
						 if(ostatak+=4>=A){
							 k=ostatak+4-A;
							 printf("%d %d\n%d %d\n%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1,broj2-1,broj1-1,broj1,broj2,broj2,broj1,A,k);
						 }
						 else{
							 if(ostatak+=6>=A){
							 k=ostatak+6-A;
							 printf("%d %d\n%d %d\n%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1,broj2-1,broj1-1,broj1-1,broj2-1,broj2,broj1,A,k);
							 }
							 else{
								 if(ostatak+=8>=A){
									 k=ostatak+8-A;
									 printf("%d %d\n%d %d\n%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1,broj2-1,broj1-1,broj1-1,broj2-1,broj2-1,broj1-1,A,k);
								 }
								 else{
									for(nn;nn<=A;nn++){
										g++;
									}
									 if(g>A){
										 g=g-A;
										 if(g>A){
											 g=g-A;
											 if(g>A){
												 g=g-A;printf("%d 0\n0 %d\n%d 0\n%d %d\n%d %d\n",broj1-1,broj1-1,broj1-1,broj2-1-g,broj1-1,A,k);
											 }
											 else printf("%d 0\n0 %d\n%d %d\n%d %d\n%d %d\n",broj1-1,broj1-1,broj1-1,broj2-1-g,broj2-1,broj1-1,A,k);
										 }
										 else printf("%d 0\n%d %d\n%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1-g,broj1-1,broj1-1,broj2-1,broj2-1,broj1-1,A,k);
									 }
									 else printf("%d %d\n%d %d\n%d %d\n%d %d\n%d %d\n",broj1-1,broj2-1-g,broj2-1,broj1-1,broj1-1,broj2-1,broj2-1,broj1-1,A,k);
								 }
							 }
						 }
					 }
				 }
			 }
			 }
	//system("pause");
	return 0;
	}