#include <iostream>
#include <bits/stdc++.h>
using namespace std;
class node{
public:
int idx;
int x;
int y;
node(int xx=0,int yy=0,int ii=0){
idx=ii;
x=xx;
y=yy;
}
friend bool operator<(node a,node b);
};
bool operator<(node a,node b){
return(a.y<b.y);
}
bool cmp_fn(node a,node b){
return(a.x<b.x);
}
void solve(node pts[],int n){
int start,last;
int left =0;
double best=1000000000,v;
sort(pts,pts+n,cmp_fn);
set<node>box;
box.insert(pts[0]);
for(int i=1;i<n;i++){
while(left<i && pts[i].x-pts[left].x >best){
box.erase(pts[i]);
left++;
}
for(typeof(box.begin())it=box.begin();it!=box.end() && pts[i].y+best>=it->y;it++){
v=sqrt(pow(pts[i].y - it->y, 2.0)+pow(pts[i].x - it->x, 2.0));
if(v<best){
best=v;
start=it->idx;
last=pts[i].idx;
if(start>last)swap(start,last);
}
}
box.insert(pts[i]);
}
cout<<start<<" "<<last<<" "<<setprecision(6)<<fixed<<best;
}
int main(){
int t,n,x,y;
cin>>n;
node pts[n];
for(int i=0;i<n;i++){
cin>>x>>y;
pts[i]=node(x,y,i);
}
solve(pts,n);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY2xhc3Mgbm9kZXsKICAgIHB1YmxpYzoKICAgIGludCBpZHg7CiAgICBpbnQgeDsKICAgIGludCB5OwogICAgbm9kZShpbnQgeHg9MCxpbnQgeXk9MCxpbnQgaWk9MCl7CiAgICAgICAgaWR4PWlpOwogICAgICAgIHg9eHg7CiAgICAgICAgeT15eTsKICAgIH0KICAgIGZyaWVuZCBib29sIG9wZXJhdG9yPChub2RlIGEsbm9kZSBiKTsKfTsKYm9vbCBvcGVyYXRvcjwobm9kZSBhLG5vZGUgYil7CiAgICByZXR1cm4oYS55PGIueSk7Cn0KYm9vbCBjbXBfZm4obm9kZSBhLG5vZGUgYil7CiAgICByZXR1cm4oYS54PGIueCk7Cn0Kdm9pZCBzb2x2ZShub2RlIHB0c1tdLGludCBuKXsKICAgIGludCBzdGFydCxsYXN0OwogICAgaW50IGxlZnQgPTA7CiAgICBkb3VibGUgYmVzdD0xMDAwMDAwMDAwLHY7CiAgICBzb3J0KHB0cyxwdHMrbixjbXBfZm4pOwogICAgc2V0PG5vZGU+Ym94OwogICAgYm94Lmluc2VydChwdHNbMF0pOwogICAgZm9yKGludCBpPTE7aTxuO2krKyl7CiAgICAgICAgd2hpbGUobGVmdDxpICYmIHB0c1tpXS54LXB0c1tsZWZ0XS54ID5iZXN0KXsKICAgICAgICAgICAgYm94LmVyYXNlKHB0c1tpXSk7CiAgICAgICAgICAgIGxlZnQrKzsKICAgICAgICB9CiAgICAgICAgZm9yKHR5cGVvZihib3guYmVnaW4oKSlpdD1ib3guYmVnaW4oKTtpdCE9Ym94LmVuZCgpICYmIHB0c1tpXS55K2Jlc3Q+PWl0LT55O2l0KyspewogICAgICAgICAgICB2PXNxcnQocG93KHB0c1tpXS55IC0gaXQtPnksIDIuMCkrcG93KHB0c1tpXS54IC0gaXQtPngsIDIuMCkpOwogICAgICAgICAgICBpZih2PGJlc3QpewogICAgICAgICAgICAgICAgYmVzdD12OwogICAgICAgICAgICAgICAgc3RhcnQ9aXQtPmlkeDsKICAgICAgICAgICAgICAgIGxhc3Q9cHRzW2ldLmlkeDsKICAgICAgICAgICAgICAgIGlmKHN0YXJ0Pmxhc3Qpc3dhcChzdGFydCxsYXN0KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBib3guaW5zZXJ0KHB0c1tpXSk7CiAgICB9CiAgICBjb3V0PDxzdGFydDw8IiAiPDxsYXN0PDwiICI8PHNldHByZWNpc2lvbig2KTw8Zml4ZWQ8PGJlc3Q7Cn0gCmludCBtYWluKCl7CiAgICBpbnQgdCxuLHgseTsKICAgIGNpbj4+bjsKICAgIG5vZGUgcHRzW25dOwogICAgZm9yKGludCBpPTA7aTxuO2krKyl7CiAgICAgICAgY2luPj54Pj55OwogICAgICAgIHB0c1tpXT1ub2RlKHgseSxpKTsKICAgIH0KICAgIHNvbHZlKHB0cyxuKTsKICAgIHJldHVybiAwOwp9Cgo=