#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
 int a[1000],n;
int findmax()
{
    int ans,m=abs(a[0]);
    for(int i=0;i<n;i++)
    {
        if(abs(a[i])>m)
        {
            ans=i;
            m=abs(a[i]);
        }
    }
    return ans;

}
int main()
{
    scanf("%d",&n);
    int judge=0;
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]<0)
            judge=1;

    }
    int maxnumber=findmax();
    if(judge==0)
    {
        printf("%d\n",n-1);
        for(int i=0;i<n-1;i++)
        {
            printf("%d %d",i+1,i+2);
            if(i!=n-2)
                printf("\n");
        }
    }
    else {
        printf("%d\n",2*n-1);
        for(int i=0;i<n;i++)
        {
            printf("%d %d\n",maxnumber+1,i+1);
        }
        for(int i=0;i<n-1;i++)
        {
            printf("%d %d",i+1,i+2);
            if(i!=n-2)
                printf("\n");
        }
    }
    return 0;
}
