#include <iostream>



int main()
{
    long long int poeni, maxset;
    std::cin >> poeni;
    std::cin >> maxset;

    long long int tim_1[5]{0}, tim_2[5]{0};
    int broj_setova;

    if(poeni/maxset < 3)
        std::cout << -1;
    else
        {
            if(poeni <= maxset*3 + (maxset-2)*3)
            {
                broj_setova = 3;
                for(int i = 0; i < broj_setova; i++)
                {
                    tim_1[i] = maxset;
                    tim_2[i] = (poeni - 3*maxset)/3;
                }
                for(long long int i = 0; i < (poeni - 3*maxset)%3; i ++)
                {
                    tim_2[i]+=1;
                }
            }
            else if(poeni <= maxset*4 + (maxset-2)*4)
            {
                broj_setova = 4;
                for(int i = 0; i < broj_setova; i++)
                {
                    if(i!=2)
                    {
                        tim_1[i] = maxset;
                        tim_2[i] = (poeni - 4*maxset)/4;
                    }
                    else
                    {
                        tim_2[i] = maxset;
                        tim_1[i] = (poeni - 4*maxset)/4;
                    }
                }
                for(long long int i = 0; i < (poeni - 4*maxset)%4; i ++)
                {
                    if(i!=2)
                        tim_2[i]+=1;
                    else
                        tim_1[i]+=1;

                }
            }
            else if(poeni <= maxset*5 + (maxset-2)*5)
            {
                broj_setova = 5;
                for(int i = 0; i < broj_setova; i++)
                {
                    if(i!=2 && i!=3)
                    {
                        tim_1[i] = maxset;
                        tim_2[i] = (poeni - 5*maxset)/5;
                    }
                    else
                    {
                        tim_2[i] = maxset;
                        tim_1[i] = (poeni - 5*maxset)/5;
                    }
                }
                for(long long int i = 0; i < (poeni - 5*maxset)%5; i ++)
                {
                    if(i!=2 && i!=3)
                        tim_2[i]+=1;
                    else
                        tim_1[i]+=1;

                }
            }
            else if(poeni % 2 != 0)
            {
                std::cout << -1;
                return 0;
            }
            else
            {
                broj_setova = 5;
                for(int i = 0; i < broj_setova; i++)
                {
                    if(i!=2 && i!=3)
                    {
                        tim_1[i] = maxset;
                        tim_2[i] = maxset - 2;
                    }
                    else
                    {
                        tim_2[i] = maxset;
                        tim_1[i] = maxset -2;
                    }
                }
                tim_1[0] += (poeni - (maxset*5 + (maxset-2)*5))/2;
                tim_2[0]+= (poeni - (maxset*5 + (maxset-2)*5))/2;
            }

        }

        for(int i = 0; i < broj_setova; i++)
        {
            std::cout << tim_1[i] << " " << tim_2[i] << "\n";
        }

    return 0;
}