#include<iostream>
using namespace std;

const long long INF = 10000000000;

int main(){
    //input
    long long K,X,Y;
    cin >> K >> X >> Y;

    //exception
    if((K%2==0)&&((abs(X)+abs(Y))%2==1)){
        cout << -1 << endl;
        return 0;
    }
    if(abs(X)+abs(Y)==K){
        cout << 1 << endl;
        cout << X << " " << Y << endl;
        return 0;
    }

    //calc&output
    long long a,b;
    long long counta;
    bool oddoddint=0;
    if((K%2==1)&&((abs(X)+abs(Y))%2==1)&&(abs(X)+abs(Y)<=K)){
        a=K;
        b=0;
        counta=2;
        oddoddint=1;
    }else if((K%2==1)&&((abs(X)+abs(Y))%2==1)){
        a=0;
        b=0;
        counta=(abs(X)+abs(Y)+K+(2*K-1))/(2*K);
        counta=2*counta-1;
    }else if((K%2==1)&&((abs(X)+abs(Y))%2==0)){
        a=0;
        b=0;
        counta=(abs(X)+abs(Y)+(2*K-1))/(2*K)
        ;
        counta=2*counta;
    }else{
        a=0;
        b=0;
        counta=(abs(X)+abs(Y)+K-1)/K;
        if(counta==1){
            counta=2;
        }
    }
    if(oddoddint==1){
        cout << 3 << endl;
        cout << a << " " << b << endl;
    }else{
        cout << counta << endl;
    }
    long long i,j;
    long long val;
    long long pre_a, pre_b;
    while(counta>2){
        val=INF;
        for(i=0; i<K; i++){
            if(abs(a+K-i-X)+abs(b+i-Y)<val){
                val=abs(a+K-i-X)+abs(b+i-Y);
                pre_a=a+K-i;
                pre_b=b+i;
            }
        }
        for(i=0; i<K; i++){
            if(abs(a-i-X)+abs(b+K-i-Y)<val){
                val=abs(a-i-X)+abs(b+K-i-Y);
                pre_a=a-i;
                pre_b=b+K-i;
            }
        }
        for(i=0; i<K; i++){
            if(abs(a-K+i-X)+abs(b-i-Y)<val){
                val=abs(a-K+i-X)+abs(b-i-Y);
                pre_a=a-K+i;
                pre_b=b-i;
            }
        }
        for(i=0; i<K; i++){
            if(abs(a+i-X)+abs(b-K+i-Y)<val){
                val=abs(a+i-X)+abs(b-K+i-Y);
                pre_a=a+i;
                pre_b=b-K+i;
            }
        }
        a=pre_a;
        b=pre_b;
        counta--;
        cout << a << " " << b << endl;
        
    }
    bool end=0;
    if(end==0){
        i=(X+a+Y-b+2*K)/2;
        j=(X-a+Y+b)/2;
        if(abs(i-a)+abs(j-b)==K&&abs(i-X)+abs(j-Y)==K){
            cout << i << " " << j << endl;
            cout << X << " " << Y << endl;
            end=1;
        }
    }
    if(end==0){
        i=(X+a+Y-b)/2;
        j=(X-a+Y+b+2*K)/2;
        if(abs(i-a)+abs(j-b)==K&&abs(i-X)+abs(j-Y)==K){
            cout << i << " " << j << endl;
            cout << X << " " << Y << endl;
            end=1;
        }
    }
    if(end==0){
        i=(X+a+Y-b)/2;
        j=(X-a+Y+b-2*K)/2;
        if(abs(i-a)+abs(j-b)==K&&abs(i-X)+abs(j-Y)==K){
            cout << i << " " << j << endl;
            cout << X << " " << Y << endl;
            end=1;
        }
    }
    if(end==0){
        i=(X+a+Y-b-2*K)/2;
        j=(X-a+Y+b)/2;
        if(abs(i-a)+abs(j-b)==K&&abs(i-X)+abs(j-Y)==K){
            cout << i << " " << j << endl;
            cout << X << " " << Y << endl;
            end=1;
        }
    }
    if(end==0){
        i=(a+X+b-Y+2*K)/2;
        j=(a-X+b+Y)/2;
        if(abs(i-a)+abs(j-b)==K&&abs(i-X)+abs(j-Y)==K){
            cout << i << " " << j << endl;
            cout << X << " " << Y << endl;
            end=1;
        }
    }
    if(end==0){
        i=(a+X+b-Y)/2;
        j=(a-X+b+Y+2*K)/2;
        if(abs(i-a)+abs(j-b)==K&&abs(i-X)+abs(j-Y)==K){
            cout << i << " " << j << endl;
            cout << X << " " << Y << endl;
            end=1;
        }
    }
    if(end==0){
        i=(a+X+b-Y)/2;
        j=(a-X+b+Y-2*K)/2;
        if(abs(i-a)+abs(j-b)==K&&abs(i-X)+abs(j-Y)==K){
            cout << i << " " << j << endl;
            cout << X << " " << Y << endl;
            end=1;
        }
    }
    if(end==0){
        i=(a+X+b-Y-2*K)/2;
        j=(a-X+b+Y)/2;
        if(abs(i-a)+abs(j-b)==K&&abs(i-X)+abs(j-Y)==K){
            cout << i << " " << j << endl;
            cout << X << " " << Y << endl;
            end=1;
        }
    }
    return 0; 
}

Measured memory_bytes: 3628