#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 9;
int n;
int a[N],max_a;
vector<pair<int,int> > opt;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin >> n;
for(int i = 1;i <= n;i++){
cin >> a[i];
if(abs(a[i]) > abs(a[max_a]))
max_a = i;
}
for(int i = 1;i <= n;i++)
if(i != max_a)
opt.push_back(make_pair(max_a,i));
if(a[max_a] >= 0)
for(int i = 2;i <= n;i++)
opt.push_back(make_pair(i - 1,i));
else
for(int i = n;i >= 2;i--)
opt.push_back(make_pair(i,i - 1));
int siz = opt.size();
cout << siz << '\n';
for(int i = 0;i < siz;i++)
cout << opt[i].first << ' ' << opt[i].second << '\n';
return 0;
}