#include <bits/stdc++.h>

using namespace std;

int provera(int n, int a){
    if(n >= a*5)
        return 5;
    else if(n >= a*4)
        return 4;
    else if(n >= a*3)
        return 3;
}

void ispisi(int a[], int b[], int n){
    for(int i = 0;i < n;i++)
        cout << a[i] << " " << b[i] << '\n';
}

void resi(int n, int a){
    int p = provera(n, a), c[5], d[5], razlika, kolicnik, ostatak, sredina, ostatak1;
    if(p == 5){
        c[0] = c[1] = c[4] = a;
        d[2] = d[3] = a;
        razlika = n - a*5;
        kolicnik = razlika/5;
        ostatak = razlika%5;
        d[0] = kolicnik + ostatak;
        d[1] = kolicnik;
        c[2] = kolicnik;
        c[3] = kolicnik;
        d[4] = kolicnik;
        for(int i = 0;i < 5;i++){
            if(c[i] == d[i]){
                if(i < 2 || i > 3){
                    c[i] += 1;
                    d[i] -= 1;
                }
                else{
                    d[i] += 1;
                    c[i] -= 1;
                }
            }
            else if(abs(c[i] - d[i]) < 2){
                if(i < 2 || i > 3){
                    d[i] -= 1;
                    d[i+1] += 1;
                }
                else{
                    c[i] -= 1;
                    c[i+1] += 1;
                }
            }
            else if (abs(c[i] - d[i]) > 2){
            if(i < 2 || i > 3){
                if(c[i] < d[i]){
                    sredina = (c[i] + d[i]) / 2;
                    ostatak1 = (c[i] + d[i]) % 2;
                    c[i] = sredina + ostatak1;
                    d[i] = sredina;
                    i--;
                }
            }
            else if(i >= 2 || i <= 3){
                if(c[i] > d[i]){
                    sredina = (c[i] + d[i]) / 2;
                    ostatak1 = (c[i] + d[i]) % 2;
                    c[i] = sredina;
                    d[i] = sredina + 1;
                    i--;
                }
            }
            }
        }
        if(n >= 120)
            c[0] -= 1;
        ispisi(c, d, 5);
    }
    else if(p == 4){
        c[0] = c[1] = a;
        d[2] = a;
        c[3] = a;
        razlika = n - a*4;
        kolicnik = razlika/4;
        ostatak = razlika%4;
        d[0] = kolicnik + ostatak;
        d[1] = kolicnik;
        c[2] = kolicnik;
        d[3] = kolicnik;
        for(int i = 0;i < 4;i++){
            if(c[i] == d[i]){
                if(i != 2){
                    c[i] += 1;
                    d[i] -= 1;
                }
                else{
                    d[i] += 1;
                    c[i] -= 1;
                }
            }
            else if(abs(c[i] - d[i]) < 2){
                if(i != 2){
                    d[i] -= 1;
                    d[i+1] += 1;
                }
                else{
                    c[i] -= 1;
                    c[i+1] += 1;
                }
            }
            else if(abs(c[i] - d[i]) > 2){
                if(i != 2){
                    if(c[i] < d[i]){
                        sredina = (c[i] + d[i]) / 2;
                        ostatak1 = (c[i] + d[i]) % 2;
                        c[i] = sredina + ostatak1;
                        d[i] = sredina;
                        i--;
                    }
                }
                else{
                    if(c[i] > d[i]){
                        sredina = (c[i] + d[i]) / 2;
                        ostatak1 = (c[i] + d[i]) % 2;
                        c[i] = sredina;
                        d[i] = sredina + ostatak1;
                        i--;
                    }
                }
            }
        }
        ispisi(c, d, 4);
    }
    else if(p == 3){
        c[0] = c[1] = c[2] = a;
        razlika = n - a*3;
        kolicnik = razlika/3;
        ostatak = razlika%3;
        d[0] = kolicnik + ostatak;
        d[1] = d[2] = kolicnik;
        for(int i = 0;i < 3;i++){
            if(c[i] == d[i]){
                c[i] += 1;
                d[i] -= 1;
            }
            else if(abs(c[i] - d[i]) < 2){
                d[i] -= 1;
                d[i+1] += 1;
            }
            else if(abs(c[i] - d[i]) > 2){
                if(c[i] < d[i]){
                    sredina = (c[i] + d[i]) / 2;
                    ostatak1 = (c[i] + d[i]) % 2;
                    c[i] = sredina + ostatak1;
                    d[i] = sredina;
                    i--;
                }
            }
        }
        ispisi(c, d, 3);
    }
}

int main(){
    ios::sync_with_stdio(false);
    int n, a;
    cin >> n >> a;
    if(n < a*3)
        cout << "-1";
    else
        resi(n, a);
    return 0;
}