Problem: Convexity of a set of points on the plane is the size of the largest subset of points that form a convex polygon. Your task is to build a set of n points with the convexity of exactly m. Your set of points should not contain three points that lie on a straight line.

Input

The single line contains two integers n and m (3 ≤ m ≤ 100, m ≤ n ≤ 2m).

Output

If there is no solution, print "-1". Otherwise, print n pairs of integers — the coordinates of points of any set with the convexity of m. The coordinates shouldn't exceed 108 in their absolute value.

Examples

Input

4 3


Output

0 0
3 0
0 3
1 1


Input

6 3


Output

-1


Input

6 6


Output

10 0
-10 0
10 1
9 1
9 -1
0 -2


Input

7 4


Output

176166 6377
709276 539564
654734 174109
910147 434207
790497 366519
606663 21061
859328 886001

Solution (in JAVA):

Solution:
import java.io.*;
import java.util.*;

public class B {
    public static void main(String[] args) throws Exception {
        new B().solve();
        // new FileInputStream(new File("input.txt")),
        // new PrintStream(new FileOutputStream(new File("output.txt"))));
    }
    
    void solve() throws IOException {
        BufferedReader in = new BufferedReader(new
                InputStreamReader(System.in));
        Scanner sc = new Scanner(System.in);
        String[] sp;
        
        int n = sc.nextInt();
        int m = sc.nextInt();
        
        if (m == 3 && n > 4) {
            System.out.println(-1);
            return;
        }
        
        int y0 = 1000000;
        
        int m2 = n - m;
        if (m-- > 0) {
            System.out.println("0 0");
        }
        if (m2-- > 0) {
            System.out.println("0 " + -y0);
        }
        
        
        for (int x = 1; m > 0 || m2 > 0; x++) {
            int y = x * x;
            if (m-- > 0) {
                System.out.println(-x + " " + y);
            }
            if (m-- > 0) {
                System.out.println(x + " " + y);
            }
            if (m2-- > 0) {
                System.out.println(-x + " " + (-y - y0));
            }
            if (m2-- > 0) {
                System.out.println(x + " " + (-y - y0));
            }
        }
    }
}

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//