#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,k,p,l,r,md,ans[100001],sm,mx;
bool ok(ll x){
memset(ans,0,sizeof(ans)),sm=0;
for(int i=1;i<=p;i++) ans[i]=x,sm+=x;
if(sm>k) return 0;
sm=k-sm,mx=x-1;
if(sm==0) return 1;
for(int i=p+1;i<=n;i++)
if(sm<=mx){
ans[i]=sm;
return 1;
}
else ans[i]=mx,sm-=mx;
return 0;
}
int main(){
cin>>n>>m>>k>>p;
r=min(ll(floor(k*1./p)),m);
if(ok(r)){
cout<<"YES"<<endl;
for(int i=1;i<=n;i++) cout<<ans[i]<<" "<<m-ans[i]<<endl;
}
else cout<<"NO";
return 0;
}
WA了2个点