#include <bits/stdc++.h>
#define x first
#define y second
using namespace std;

typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
const ll MAX=605;
const ll INF=0x3f3f3f3f;
const ll MOD=998244353;
int n,d1,d2,s1=1,s2=1,mask1[MAX][MAX],mask2[MAX][MAX],cnt;
int main(){
    scanf("%d%d%d",&n,&d1,&d2);
    while(d1%4==0) d1/=4,s1*=2;
    while(d2%4==0) d2/=4,s2*=2;
    for(int i=0;i<2*n;i++) for(int j=0;j<2*n;j++){
        if(d1%2){if((i/s1)%2==(j/s1)%2) mask1[i][j]=1;}
        else{if((i/s1)%2==0) mask1[i][j]=1;}
    }
    for(int i=0;i<2*n;i++) for(int j=0;j<2*n;j++){
        if(d2%2){if((i/s2)%2==(j/s2)%2) mask2[i][j]=1;}
        else{if((i/s2)%2==0) mask2[i][j]=1;}
    }
    for(int i=0;i<2*n;i++) for(int j=0;j<2*n;j++) if(mask1[i][j]&&mask2[i][j]){
        cnt++;
        printf("%d %d\n",i,j);
        if(cnt==n*n) return 0;
    }
}
