#include  < stdio.h >
#include 
< math.h >
#define  max(a,b) (a>b?a:b)
int  n;

struct  seg {
    
double  l, r, t;
} a[
50 ];

int  main() {
    
while  (scanf( " %d " & n), n) {
        
for  ( int  i  =   0 ; i  <  n; i ++ ) {
            scanf(
" %lf " & a[i].t);
            a[i].l 
=   0.0 ;
            
for  ( int  j  =   0 ; j  <  i; j ++ )
                a[i].l 
=  max(a[i].l, a[j].r  -  fabs(a[i].t  -  a[j].t)  /   2 );
            a[i].r 
=  a[i].l  +  a[i].t;
        }
        
for  ( int  i  =   1 ; i  <  n; i ++ )
            
for  ( int  j  =   0 ; j  <  i; j ++ )
                
if  (a[i].l  <  a[i].r) {
                    
if  (a[i].t  >  a[j].t  &&  a[i].l  <  a[j].r)
                        a[j].r 
=  a[i].l;
                    
else   if  (a[i].t  <  a[j].t  &&  a[j].r  >  a[i].l)
                        a[i].l 
=  a[j].r;
                }
        
for  ( int  i  =   0 ; i  <  n; i ++ )
            
if  (a[i].l  <  a[i].r)printf( " %d  " , i  +   1 );
        puts(
"" );
    }
}