// Задача "Распил"
// 10-ая Всероссийская командная олимпиада школьников по программированию
// Автор задачи:  Елена Андреева
// Автор решения: Владимир Ульянцев, ulyantsev@rain.ifmo.ru

import java.io.*;
import java.util.*;

public class cut_vu_java {
    public static void main(String[] args) throws IOException {
        Scanner in = new Scanner(new File("cut.in"));
        PrintWriter out = new PrintWriter("cut.out");

        int n = in.nextInt(), m = in.nextInt(), k = in.nextInt();
        if (k > m) {
        	m ^= k;
        	k ^= m;
			m ^= k;
        }

        int d = m + k - n;
        int cnt = d == 2 ? 3 : Math.max(3, d + 2);

        if (n == 6 && m == 5 && k == 5) {
        	out.println("Yes\n0 0\n0 2\n1 1\n10 1\n10 -1\n9 0\n2 5");
        } else if (d < 0 || d > 4 || m < cnt) {
        	out.println("No");
        } else {
        	out.println("Yes");
        	out.println("0 0\n" + (d == 3 ? "" : "1 1\n") + (d < 3 ? "" : "1 3\n") + "4 3");
        	for (int i = 1; i <= k - 3; i++)
        		out.println((4 + i) + " " + (3 + i / 2 + i % 2));
        	out.print(d == 2 || d == 4 ? "" : (n + " " + n + "\n"));
        	out.print(d > 0 ? "" : ((n + 1) + " " + (n + 1) + "\n"));
        	out.println(0 + " " + n);
        	for (int i = 1; i <= m - cnt; i++)
        		out.println(-i + " " + (n - i / 2 - i % 2));
			out.println("1 " + (d == 3 ? k + 1 : 2));
        }
        
        in.close();
        out.close();
    }
}
