#include<bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int long long n,k,q,mini,maxi,t,last,dif,m,cnt=0,ans=0,ne=0,x,y;
bool flag;
//string s;
cin>>n>>m>>x>>y;
int long long arr[n],b[m];
map<int long long,int long long>mp;
for(int i=0;i<n;i++)
cin>>arr[i];
for(int i=0;i<m;i++)
cin>>b[i];
cnt=0;
for(int i=0;i<n;i++)
{
while(cnt<m && b[cnt]<arr[i]-x)
cnt++;
if(cnt==m)
break;
if(b[cnt]>= arr[i]-x && b[cnt]<=arr[i]+y)
{
ans++;
mp[i+1]=cnt+1;
cnt++;
continue;
}
}
cout<<ans<<endl;
if(ans>0)
for(auto it=mp.begin();it!=mp.end();it++)
{
cout<<it->first<<" "<<it->second<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBjb3V0LnRpZShOVUxMKTsKICAgIGludCBsb25nIGxvbmcgbixrLHEsbWluaSxtYXhpLHQsbGFzdCxkaWYsbSxjbnQ9MCxhbnM9MCxuZT0wLHgseTsKICAgIGJvb2wgZmxhZzsKICAgIC8vc3RyaW5nIHM7CiAgICBjaW4+Pm4+Pm0+Png+Pnk7CiAgICBpbnQgbG9uZyBsb25nIGFycltuXSxiW21dOwogICAgbWFwPGludCBsb25nIGxvbmcsaW50IGxvbmcgbG9uZz5tcDsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspCiAgICBjaW4+PmFycltpXTsKICAgIGZvcihpbnQgaT0wO2k8bTtpKyspCiAgICBjaW4+PmJbaV07CiAgICBjbnQ9MDsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspCiAgICB7CgogICAgCXdoaWxlKGNudDxtICYmIGJbY250XTxhcnJbaV0teCkKICAgIAljbnQrKzsKICAgIAlpZihjbnQ9PW0pCiAgICAJYnJlYWs7CiAgICAJaWYoYltjbnRdPj0gYXJyW2ldLXggJiYgYltjbnRdPD1hcnJbaV0reSkKICAgIAl7CiAgICAJCWFucysrOwogICAgCQltcFtpKzFdPWNudCsxOwogICAgCQljbnQrKzsKICAgIAkJY29udGludWU7CiAgICAJfQogICAgfQogICAgY291dDw8YW5zPDxlbmRsOwogICAgaWYoYW5zPjApCiAgICBmb3IoYXV0byBpdD1tcC5iZWdpbigpO2l0IT1tcC5lbmQoKTtpdCsrKQogICAgewogICAgCWNvdXQ8PGl0LT5maXJzdDw8IiAiPDxpdC0+c2Vjb25kPDxlbmRsOwogICAgfQogICAgCn0=