#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define ll long long
using namespace __gnu_pbds;
using namespace std;
template <class T>
using ordered_set = tree<T , null_type , less<T> , rb_tree_tag , tree_order_statistics_node_update>;
template <class T>
using ordered_set1 = tree<T , null_type , greater<T> , rb_tree_tag , tree_order_statistics_node_update>;
// less<T>/greater<T> = ascending/descending.
// less_equal<>/greater_equal<> for ordered multiset
// ordered_multiset note : s.find(), s.erase() don't work + s.upper_bound() and s.lower_bound() swap jobs;
void fastIO(void) {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
//freopen("stdin", "r", stdin);
//freopen("stdout", "w", stdout);
}
struct animal{
ll index;
ll prednum;
ll preynum;
ll power;
};
bool cmp(animal x,ll b){
return x.power < b;
}
bool cmp3(animal x, animal y) {
return x.power < y.power;
}
bool cmp4(animal x, animal y) {
return x.index < y.index;
}
int main() {
fastIO();
ll n,a,b; cin>>n>>a>>b;
vector<animal> v(n);
for (ll i = 0; i<n; i++) {
cin>>v[i].power;
v[i].index=i;
}
sort(v.begin(),v.end(),cmp3);
for (ll i = 0; i<n; i++) {
//pred
auto predL = lower_bound(v.begin(),v.end(),v[i].power+a,cmp);
auto predR = lower_bound(v.begin(),v.end(),v[i].power+b,cmp);
v[i].prednum=predR-predL;
//prey
if (a>=v[i].power) {
v[i].preynum=0;
continue;
}
else {
auto preyR = lower_bound(v.begin(),v.end(),v[i].power-a,cmp);
if (preyR!=v.end() && v[preyR-v.begin()].power==v[i].power-a) preyR++;
auto preyL = lower_bound(v.begin(),v.end(),v[i].power-b,cmp);
if (preyL!=v.end() && v[preyL-v.begin()].power==v[i].power-b) preyL++;
v[i].preynum=preyR-preyL;
}
}
sort(v.begin(),v.end(),cmp4);
for (ll i = 0; i<n; i++) {
cout<<v[i].prednum<<' '<<v[i].preynum<<'\n';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4KI2luY2x1ZGUgPGV4dC9wYl9kcy90cmVlX3BvbGljeS5ocHA+CiNkZWZpbmUgbGwgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBfX2dudV9wYmRzOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0ZW1wbGF0ZSA8Y2xhc3MgVD4KdXNpbmcgb3JkZXJlZF9zZXQgPSB0cmVlPFQgLCBudWxsX3R5cGUgLCBsZXNzPFQ+ICwgcmJfdHJlZV90YWcgLCB0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+Owp0ZW1wbGF0ZSA8Y2xhc3MgVD4KdXNpbmcgb3JkZXJlZF9zZXQxID0gdHJlZTxUICwgbnVsbF90eXBlICwgZ3JlYXRlcjxUPiAsIHJiX3RyZWVfdGFnICwgdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPjsKLy8gbGVzczxUPi9ncmVhdGVyPFQ+ID0gYXNjZW5kaW5nL2Rlc2NlbmRpbmcuCi8vIGxlc3NfZXF1YWw8Pi9ncmVhdGVyX2VxdWFsPD4gZm9yIG9yZGVyZWQgbXVsdGlzZXQKLy8gb3JkZXJlZF9tdWx0aXNldCBub3RlIDogcy5maW5kKCksIHMuZXJhc2UoKSBkb24ndCB3b3JrICsgcy51cHBlcl9ib3VuZCgpIGFuZCBzLmxvd2VyX2JvdW5kKCkgc3dhcCBqb2JzOwp2b2lkIGZhc3RJTyh2b2lkKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBjb3V0LnRpZShOVUxMKTsKICAgIC8vZnJlb3Blbigic3RkaW4iLCAiciIsIHN0ZGluKTsKICAgIC8vZnJlb3Blbigic3Rkb3V0IiwgInciLCBzdGRvdXQpOwp9CnN0cnVjdCBhbmltYWx7CiAgICBsbCBpbmRleDsKICAgIGxsIHByZWRudW07CiAgICBsbCBwcmV5bnVtOwogICAgbGwgcG93ZXI7Cn07CmJvb2wgY21wKGFuaW1hbCB4LGxsIGIpewogICAgcmV0dXJuIHgucG93ZXIgPCBiOwp9CmJvb2wgY21wMyhhbmltYWwgeCwgYW5pbWFsIHkpIHsKICAgIHJldHVybiB4LnBvd2VyIDwgeS5wb3dlcjsKfQpib29sIGNtcDQoYW5pbWFsIHgsIGFuaW1hbCB5KSB7CiAgICByZXR1cm4geC5pbmRleCA8IHkuaW5kZXg7Cn0KaW50IG1haW4oKSB7CiAgICBmYXN0SU8oKTsKICAgIGxsIG4sYSxiOyBjaW4+Pm4+PmE+PmI7CiAgICB2ZWN0b3I8YW5pbWFsPiB2KG4pOwogICAgZm9yIChsbCBpID0gMDsgaTxuOyBpKyspIHsKICAgICAgICBjaW4+PnZbaV0ucG93ZXI7CiAgICAgICAgdltpXS5pbmRleD1pOwogICAgfQogICAgc29ydCh2LmJlZ2luKCksdi5lbmQoKSxjbXAzKTsKICAgIGZvciAobGwgaSA9IDA7IGk8bjsgaSsrKSB7CiAgICAgICAgLy9wcmVkCiAgICAgICAgYXV0byBwcmVkTCA9IGxvd2VyX2JvdW5kKHYuYmVnaW4oKSx2LmVuZCgpLHZbaV0ucG93ZXIrYSxjbXApOwogICAgICAgIGF1dG8gcHJlZFIgPSBsb3dlcl9ib3VuZCh2LmJlZ2luKCksdi5lbmQoKSx2W2ldLnBvd2VyK2IsY21wKTsKICAgICAgICB2W2ldLnByZWRudW09cHJlZFItcHJlZEw7CiAgICAgICAgLy9wcmV5CiAgICAgICAgaWYgKGE+PXZbaV0ucG93ZXIpIHsKICAgICAgICAgICAgdltpXS5wcmV5bnVtPTA7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgYXV0byBwcmV5UiA9IGxvd2VyX2JvdW5kKHYuYmVnaW4oKSx2LmVuZCgpLHZbaV0ucG93ZXItYSxjbXApOwogICAgICAgICAgICBpZiAocHJleVIhPXYuZW5kKCkgJiYgdltwcmV5Ui12LmJlZ2luKCldLnBvd2VyPT12W2ldLnBvd2VyLWEpIHByZXlSKys7CiAgICAgICAgICAgIGF1dG8gcHJleUwgPSBsb3dlcl9ib3VuZCh2LmJlZ2luKCksdi5lbmQoKSx2W2ldLnBvd2VyLWIsY21wKTsKICAgICAgICAgICAgaWYgKHByZXlMIT12LmVuZCgpICYmIHZbcHJleUwtdi5iZWdpbigpXS5wb3dlcj09dltpXS5wb3dlci1iKSBwcmV5TCsrOwogICAgICAgICAgICB2W2ldLnByZXludW09cHJleVItcHJleUw7CiAgICAgICAgfQogICAgfQogICAgc29ydCh2LmJlZ2luKCksdi5lbmQoKSxjbXA0KTsKICAgIGZvciAobGwgaSA9IDA7IGk8bjsgaSsrKSB7CiAgICAgICAgY291dDw8dltpXS5wcmVkbnVtPDwnICc8PHZbaV0ucHJleW51bTw8J1xuJzsKICAgIH0KfQo=