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:  = int(input())
  a = list(map(int, input().split()))
  
  end = False
  def check(a_, count, ans):
      global end
      #print(a_)
      if(end):
          return False
      #print(a_)
      if(count > 2 * n):
          return False
      ac = True
      prev = a_[0]
      for i in range(n):
          if(a_[i] < prev):
              for j in range(n):
                  #print(a_[i] + a_[j],  prev)
                  #print(a_[i - 1] + a_[j], a[i])
                  if(a_[i] + a_[j] >= prev or abs(a_[i] + a_[j] - prev) < abs(a_[i] - prev)):
                      a_[i] += a_[j]#print(str(j + 1) + " " + str(i + 1))
                      count += 1
                      tmp = ans + str(j + 1) + " " + str(i + 1) + "\n"
                      if(check(a_, count, tmp) == True):
                          print(count)
                          print(ans + str(j + 1) + " " + str(i + 1))
                          end = True
                          return False
                  
                  elif(a_[i - 1] + a_[j] < a[i] or abs(a_[i - 1] + a_[j] - a[i]) < abs(a_[i - 1] - a[i])):
                      a_[i - 1] += a_[j]#print(str(j + 1) + " " + str(i + 1))
                      count += 1
                      tmp = ans + str(j + 1) + " " + str(i) + "\n"
                      if(check(a_, count, tmp) == True):
                          print(count)
                          print(ans + str(j + 1) + " " + str(i))
                          end = True
                          return False
              ac = False
          if(ac == False):
              break
          prev = a_[i]
      return ac
  
  z = 0
  prev = a[0]
  for i in range(n):
      if(a[i] < prev):
          z = 1
      prev = a[i]
  if(z == 0):
      print(z)
  else:
      check(a, 0, "")
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."}]