#include <bits/stdc++.h>
using namespace std;
long long int arr[1000002],d;
map<pair<int,int>,int> m2;
int n,a,b;
bool valid(int x,int y)
{
if(x<n && x>-1 && y>-1 && y<n) return true;
return false;
}
bool possible(int i,int j)
{
map<pair<int,int>,int> vis;
int ini_upp=i,ini_down=j,upp,down;
queue<pair<int,int>> q;
q.push(make_pair(ini_upp,ini_down));
int tv1=m2[make_pair(ini_upp,ini_down)];
if(tv1){
// cout<<"aaya jaaha";
if(tv1==1) return true;
return false;
}
while ((q.size()))
{
upp=q.front().first;
down=q.front().second;
q.pop();
if(abs(arr[upp]-arr[down])<=d)
{
if (!vis[make_pair(upp,down)]){
vis[make_pair(upp, down)] = 1;
if(upp==ini_down && down==ini_upp){
m2[make_pair(ini_upp,ini_down)]=1;
return true;
}
if(valid(upp+1,down-1)) q.push(make_pair(upp+1,down-1));
if(valid(upp+1,down+1)) q.push(make_pair(upp+1,down+1));
if(valid(upp-1,down-1)) q.push(make_pair(upp-1,down-1));
if(valid(upp-1,down+1)) q.push(make_pair(upp-1,down+1));
}
}
}
m2[make_pair(ini_upp, ini_down)] = -1;
return false;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin>>n>>d;
for (int i = 0; i < n; i++)
{
cin>>arr[i];
}
for (int i = 0; i < n; i++)
{
for (int j = i+1; j < n; j++)
{
if(possible(i,j)) cout<<i+1<<" "<<j+1<<"\n";
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmxvbmcgbG9uZyBpbnQgYXJyWzEwMDAwMDJdLGQ7Cm1hcDxwYWlyPGludCxpbnQ+LGludD4gbTI7CmludCBuLGEsYjsKYm9vbCB2YWxpZChpbnQgeCxpbnQgeSkKewogICAgaWYoeDxuICYmIHg+LTEgJiYgeT4tMSAmJiB5PG4pIHJldHVybiB0cnVlOwogICAgcmV0dXJuIGZhbHNlOwp9CmJvb2wgcG9zc2libGUoaW50IGksaW50IGopCnsKICAgIG1hcDxwYWlyPGludCxpbnQ+LGludD4gdmlzOwogICAgaW50IGluaV91cHA9aSxpbmlfZG93bj1qLHVwcCxkb3duOwogICAgcXVldWU8cGFpcjxpbnQsaW50Pj4gcTsKICAgIHEucHVzaChtYWtlX3BhaXIoaW5pX3VwcCxpbmlfZG93bikpOwogICAgaW50IHR2MT1tMlttYWtlX3BhaXIoaW5pX3VwcCxpbmlfZG93bildOwogICAgaWYodHYxKXsKICAgICAgICAvLyBjb3V0PDwiYWF5YSBqYWFoYSI7CiAgICAgICAgaWYodHYxPT0xKSByZXR1cm4gdHJ1ZTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB3aGlsZSAoKHEuc2l6ZSgpKSkKICAgIHsKICAgICAgICB1cHA9cS5mcm9udCgpLmZpcnN0OwogICAgICAgIGRvd249cS5mcm9udCgpLnNlY29uZDsKICAgICAgICBxLnBvcCgpOwogICAgICAgIGlmKGFicyhhcnJbdXBwXS1hcnJbZG93bl0pPD1kKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKCF2aXNbbWFrZV9wYWlyKHVwcCxkb3duKV0peyAKICAgICAgICAgICAgdmlzW21ha2VfcGFpcih1cHAsIGRvd24pXSA9IDE7CiAgICAgICAgICAgIGlmKHVwcD09aW5pX2Rvd24gJiYgZG93bj09aW5pX3VwcCl7IAogICAgICAgICAgICBtMlttYWtlX3BhaXIoaW5pX3VwcCxpbmlfZG93bildPTE7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKHZhbGlkKHVwcCsxLGRvd24tMSkpIHEucHVzaChtYWtlX3BhaXIodXBwKzEsZG93bi0xKSk7CiAgICAgICAgICAgIGlmKHZhbGlkKHVwcCsxLGRvd24rMSkpIHEucHVzaChtYWtlX3BhaXIodXBwKzEsZG93bisxKSk7CiAgICAgICAgICAgIGlmKHZhbGlkKHVwcC0xLGRvd24tMSkpIHEucHVzaChtYWtlX3BhaXIodXBwLTEsZG93bi0xKSk7CiAgICAgICAgICAgIGlmKHZhbGlkKHVwcC0xLGRvd24rMSkpIHEucHVzaChtYWtlX3BhaXIodXBwLTEsZG93bisxKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBtMlttYWtlX3BhaXIoaW5pX3VwcCwgaW5pX2Rvd24pXSA9IC0xOwogICAgcmV0dXJuIGZhbHNlOwp9CmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOwogICAgY2luPj5uPj5kOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgY2luPj5hcnJbaV07CiAgICB9CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICBmb3IgKGludCBqID0gaSsxOyBqIDwgbjsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgaWYocG9zc2libGUoaSxqKSkgY291dDw8aSsxPDwiICI8PGorMTw8IlxuIjsKICAgICAgICB9CiAgICB9Cn0=