#include <stdlib.h>
#include <stdio.h>

using namespace std;

bool validan(long a, long b)
{
    long c=b*2 - 2;
    if((a-2*c)<b)
        return false;
    else
        return true;
}

int main()
{
    long ukupan, jedanset;
    scanf("%ld%ld", &ukupan, &jedanset);
    long ukupnoset;
    ukupnoset = jedanset*2 - 2;
    long x=ukupan/ukupnoset;
    if(validan(ukupan, jedanset)==false)
        printf("-1");
    else if(x==2 || (x==3 && ukupan%ukupnoset==0))
    {
        long u=ukupan;
        printf("%ld %ld\n",jedanset,jedanset-2);
        u-=ukupnoset;
        printf("%ld %ld\n",jedanset,jedanset-2);
        u-=ukupnoset;
        printf("%ld %ld\n",jedanset,u-jedanset);
    }
    else if(x==3 || (x==4 && ukupan%ukupnoset==0))
    {
        long u=ukupan;
        printf("%ld %ld\n",jedanset-2,jedanset);
        u-=ukupnoset;
        printf("%ld %ld\n",jedanset,jedanset-2);
        u-=ukupnoset;
        printf("%ld %ld\n",jedanset,jedanset-2);
        u-=ukupnoset;
        printf("%ld %ld\n",jedanset,u-jedanset);
    }
    else
    {
        long u=ukupan;
        printf("%ld %ld\n",jedanset-2,jedanset);
        u-=ukupnoset;
        printf("%ld %ld\n",jedanset-2,jedanset);
        u-=ukupnoset;
        printf("%ld %ld\n",jedanset,jedanset-2);
        u-=ukupnoset;
	if(u-ukupnoset%2==0)
	{
	    printf("%ld %ld\n",jedanset,jedanset-2);
       	u-=ukupnoset;
      	printf("%ld %ld\n",u/2+1, u/2-1);
	}
	else
	{
	    printf("%ld %ld\n",jedanset,jedanset-3);
       	u=u-ukupnoset-1;
      	 printf("%ld %ld\n",u/2+1, u/2-1);    	
	}
    }
    return 0;
}