output_description: Let m be the number of operations in your solution. In the first line, print
  m. In the i-th of the subsequent m lines, print the numbers x and y chosen in
  the i-th operation, with a space in between. The output will be considered
  correct if m is between 0 and 2N (inclusive) and a satisfies the condition
  after the m operations.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      a_1 a_2 ... a_{N}
attempt: N = int(input())
  A = list(map(int, input().split()))
  
  ans = []
  
  
  def f1():
      for i in range(1, N):
          mx = -(10**7)
          mxi = 0
          for j in range(N):
              if A[j] > mx:
                  mx = A[j]
                  mxi = j
          A[i] += mx
          ans.append((mxi, i))
  
  
  def f2():
      for i in range(N - 2, -1, -1):
          mn = 10**7
          mni = 0
          for j in range(N):
              if A[j] < mn:
                  mn = A[j]
                  mni = j
          A[i] += mn
          ans.append((mni, i))
  
  
  mx = -(10**7)
  mxi = 0
  mn = 10**7
  mni = 0
  for i in range(N):
      if A[i] > mx:
          mx = A[i]
          mxi = i
      if A[i] < mn:
          mn = A[i]
          mni = i
  if mn >= 0:
      f1()
  elif mx <= 0:
      f2()
  elif mx >= abs(mn):
      for i in range(N):
          if A[i] < 0:
              A[i] += mx
              ans.append((mxi, i))
      f1()
  else:
      for i in range(N):
          if A[i] > 0:
              A[i] += mn
              ans.append((mni, i))
      f2()
  
  print(len(ans))
  for a1, a2 in ans:
      print(a1 + 1, a2 + 1)
  
problem_description: Statement
  
  Snuke has an integer sequence, a, of length N. The i-th element of a
  (1-indexed) is a_{i}.
  
  He can perform the following operation any number of times:
  
    * Operation: Choose integers x and y between 1 and N (inclusive), and add a_x to a_y.
  
  He would like to perform this operation between 0 and 2N times (inclusive) so
  that a satisfies the condition below. Show one such sequence of operations. It
  can be proved that such a sequence of operations always exists under the
  constraints in this problem.
  
    * Condition: a_1 \leq a_2 \leq ... \leq a_{N}
samples: [{"input": "3\n    -2 5 -1", "output": "2\n    2 3\n    3 3\n    \n\n  * After the first operation, a = (-2,5,4).\n  * After the second operation, a = (-2,5,8), and the condition is now satisfied.\n\n* * *"}, {"input": "2\n    -1 -3", "output": "1\n    2 1\n    \n\n  * After the first operation, a = (-4,-3) and the condition is now satisfied.\n\n* * *"}, {"input": "5\n    0 0 0 0 0", "output": "0\n    \n\n  * The condition is satisfied already in the beginning."}]