std
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,m,p,k;
int ans1[100001],ans2[100001];
bool check(int x) {
memset(ans1,0,sizeof(ans1));
memset(ans2,0,sizeof(ans2));
for(int i=1; i<=p; i++) {
if(x==m-x) return 0;
ans1[i]=x;
ans2[i]=m-x;
k-=x;
if(k<0) return 0;
}
for(int i=p+1; i<=n; i++) {
if(k>=x-1) {
ans1[i]=x-1;
ans2[i]=m-(x-1);
k-=(x-1);
} else {
ans1[i]=k;
ans2[i]=m-k;
k=0;
}
}
if(k!=0) return 0;
return 1;
}
void print() {
puts("YES");
for(int i=1; i<=n; i++) {
printf("%lld %lld\n",ans1[i],ans2[i]);
}
return ;
}
signed main(){
cin>>n>>m>>k>>p;
int l=1,r=m;
int k0=k;
while(l<=r) {
k=k0;
int mid=(l+r)/2;
if(check(mid)) {
print();
return 0;
} else r=mid-1;
}
puts("NO");
return 0;
}