output_description: Print the answer.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      a_{0} a_{1} ... a_{N-1}
attempt: # coding: utf-8
  import re
  import math
  from collections import defaultdict
  import itertools
  from copy import deepcopy
  import random
  from heapq import heappop, heappush
  import time
  import os
  import queue
  import sys
  import datetime
  from functools import lru_cache
  
  readline = sys.stdin.readline
  sys.setrecursionlimit(2000)
  # import numpy as np
  alphabet = "abcdefghijklmnopqrstuvwxyz"
  mod = int(10**9 + 7)
  inf = int(10**20)
  
  
  def yn(b):
      if b:
          print("yes")
      else:
          print("no")
  
  
  def Yn(b):
      if b:
          print("Yes")
      else:
          print("No")
  
  
  def YN(b):
      if b:
          print("YES")
      else:
          print("NO")
  
  
  class union_find:
      def __init__(self, n):
          self.n = n
          self.P = [a for a in range(N)]
          self.rank = [0] * n
  
      def find(self, x):
          if x != self.P[x]:
              self.P[x] = self.find(self.P[x])
          return self.P[x]
  
      def same(self, x, y):
          return self.find(x) == self.find(y)
  
      def link(self, x, y):
          if self.rank[x] < self.rank[y]:
              self.P[x] = y
          elif self.rank[y] < self.rank[x]:
              self.P[y] = x
          else:
              self.P[x] = y
              self.rank[y] += 1
  
      def unite(self, x, y):
          self.link(self.find(x), self.find(y))
  
      def size(self):
          S = set()
          for a in range(self.n):
              S.add(self.find(a))
          return len(S)
  
  
  def is_power(a, b):  # aはbの累乗数か
      now = b
      while now < a:
          now *= b
      if now == a:
          return True
      else:
          return False
  
  
  def bin_(num, size):
      A = [0] * size
      for a in range(size):
          if (num >> (size - a - 1)) & 1 == 1:
              A[a] = 1
          else:
              A[a] = 0
      return A
  
  
  def get_facs(n, mod_=0):
      A = [1] * (n + 1)
      for a in range(2, len(A)):
          A[a] = A[a - 1] * a
          if mod > 0:
              A[a] %= mod_
      return A
  
  
  def comb(n, r, mod, fac):
      if n - r < 0:
          return 0
      return (fac[n] * pow(fac[n - r], mod - 2, mod) * pow(fac[r], mod - 2, mod)) % mod
  
  
  def next_comb(num, size):
      x = num & (-num)
      y = num + x
      z = num & (~y)
      z //= x
      z = z >> 1
      num = y | z
      if num >= (1 << size):
          return False
      else:
          return num
  
  
  def get_primes(n, type="int"):
      A = [True] * (n + 1)
      A[0] = False
      A[1] = False
      for a in range(2, n + 1):
          if A[a]:
              for b in range(a * 2, n + 1, a):
                  A[b] = False
      if type == "bool":
          return A
      B = []
      for a in range(n + 1):
          if A[a]:
              B.append(a)
      return B
  
  
  def is_prime(num):
      if num <= 2:
          return False
      i = 2
      while i * i <= num:
          if num % i == 0:
              return False
          i += 1
      return True
  
  
  def ifelse(a, b, c):
      if a:
          return b
      else:
          return c
  
  
  def join(A, c=" "):
      n = len(A)
      A = list(map(str, A))
      s = ""
      for a in range(n):
          s += A[a]
          if a < n - 1:
              s += c
      return s
  
  
  def factorize(n, type_="dict"):
      b = 2
      list_ = []
      while b * b <= n:
          while n % b == 0:
              n //= b
              list_.append(b)
          b += 1
      if n > 1:
          list_.append(n)
      if type_ == "dict":
          dic = {}
          for a in list_:
              if a in dic:
                  dic[a] += 1
              else:
                  dic[a] = 1
          return dic
      elif type_ == "list":
          return list_
      else:
          return None
  
  
  def floor_(n, x=1):
      return x * (n // x)
  
  
  def ceil_(n, x=1):
      return x * ((n + x - 1) // x)
  
  
  ###################################################
  def main():
      n = int(input())
      A = list(map(int, input().split()))
      s = sum(A)
      mi = inf
      ans = inf
      for a in range(len(A) - 1, -1, -1):
          if abs(A[a] * len(A) - s) <= mi:
              mi = abs(A[a] * len(A) - s)
              ans = a
      print(ans)
  
  
  main()
  
problem_description: Statement
  
  Niwango-kun is an employee of Dwango Co., Ltd.  
  One day, he is asked to generate a thumbnail from a video a user submitted.  
  To generate a thumbnail, he needs to select a frame of the video according to
  the following procedure:
  
    * Get an integer N and N integers a_0, a_1, ..., a_{N-1} as inputs. N denotes the number of the frames of the video, and each a_i denotes the representation of the i-th frame of the video.
    * Select t-th frame whose representation a_t is nearest to the average of all frame representations.
    * If there are multiple such frames, select the frame with the smallest index.
  
  Find the index t of the frame he should select to generate a thumbnail.
samples: [{"input": "3\n    1 2 3", "output": "1\n    \n\nSince the average of frame representations is 2, Niwango-kun needs to select\nthe index 1, whose representation is 2, that is, the nearest value to the\naverage.\n\n* * *"}, {"input": "4\n    2 5 2 5", "output": "0\n    \n\nThe average of frame representations is 3.5.  \nIn this case, every frame has the same distance from its representation to the\naverage.  \nTherefore, Niwango-kun should select index 0, the smallest index among them."}]