import java.io.*; import java.util.*; public class Main_yukicoder466 { private static Scanner sc; private static Printer pr; private static void solve() { int a = sc.nextInt(); int b = sc.nextInt(); int c = sc.nextInt(); int d = sc.nextInt(); if (c == 0) { int min = a - 1 + b - 1; if (d < min) { pr.println(-1); return; } int n = a + b; pr.printf("%d %d\n", n, min); for (int v = 2; v < 2 + a - 1; v++) { pr.printf("%d %d\n", 0, v); } for (int v = a + 1; v < n; v++) { pr.printf("%d %d\n", 1, v); } } else if (a == c && c == b) { if (a == 1) { pr.println(-1); return; } int min = a - 1 + 1; if (d < min) { pr.println(-1); return; } int n = a; pr.printf("%d %d\n", n, min); pr.printf("%d %d\n", 0, 1); pr.printf("%d %d\n", 1, 0); for (int v = 2; v < 2 + a - 2; v++) { pr.printf("%d %d\n", 0, v); } } else if (a == c && c != b) { int min = a - 1 + 1 + b - c - 1; if (d < min) { pr.println(-1); return; } int n = b; pr.printf("%d %d\n", n, min); pr.printf("%d %d\n", 1, 0); for (int v = 2; v < 2 + a - 1; v++) { pr.printf("%d %d\n", 0, v); } for (int v = a + 1; v < n; v++) { pr.printf("%d %d\n", 1, v); } } else if (a != c && c == b) { int min = b - 1 + 1 + a - c - 1; if (d < min) { pr.println(-1); return; } int n = a; pr.printf("%d %d\n", n, min); pr.printf("%d %d\n", 0, 1); for (int v = 2; v < 2 + b - 1; v++) { pr.printf("%d %d\n", 1, v); } for (int v = b + 1; v < n; v++) { pr.printf("%d %d\n", 0, v); } } else { int min = a + b - c - 1; if (d < min) { pr.println(-1); return; } int n = a + b - c; pr.printf("%d %d\n", n, min); for (int v = 2; v < 2 + a - c - 1; v++) { pr.printf("%d %d\n", 0, v); } for (int v = a - c + 1; v < n - c; v++) { pr.printf("%d %d\n", 1, v); } pr.printf("%d %d\n", 0, n - c); pr.printf("%d %d\n", 1, n - c); for (int v = n - c + 1; v < n; v++) { pr.printf("%d %d\n", n - c, v); } } } // --------------------------------------------------- public static void main(String[] args) { sc = new Scanner(System.in); pr = new Printer(System.out); solve(); pr.close(); sc.close(); } private static class Printer extends PrintWriter { Printer(PrintStream out) { super(out); } } }