You are given an array of $n$ integers: $a_1, a_2, \ldots, a_n$. Your task is to find some non-zero integer $d$ ($-10^3 \leq d \leq 10^3$) such that, after each number in the array is divided by $d$, the number of positive numbers that are presented in the array is greater than or equal to half of the array size (i.e., at least $\lceil\frac{n}{2}\rceil$). Note that those positive numbers do not need to be an integer (e.g., a $2.5$ counts as a positive number). If there are multiple values of $d$ that satisfy the condition, you may print any of them. In case that there is no such $d$, print a single integer $0$.

Recall that $\lceil x \rceil$ represents the smallest integer that is not less than $x$ and that zero ($0$) is neither positive nor negative.


-----Input-----

The first line contains one integer $n$ ($1 \le n \le 100$) — the number of elements in the array.

The second line contains $n$ space-separated integers $a_1, a_2, \ldots, a_n$ ($-10^3 \le a_i \le 10^3$).


-----Output-----

Print one integer $d$ ($-10^3 \leq d \leq 10^3$ and $d \neq 0$) that satisfies the given condition. If there are multiple values of $d$ that satisfy the condition, you may print any of them. In case that there is no such $d$, print a single integer $0$.


-----Examples-----
Input
5
10 0 -7 2 6
Output
4
Input
7
0 0 1 -1 0 0 2

Output
0


-----Note-----

In the first sample, $n = 5$, so we need at least $\lceil\frac{5}{2}\rceil = 3$ positive numbers after division. If $d = 4$, the array after division is $[2.5, 0, -1.75, 0.5, 1.5]$, in which there are $3$ positive numbers (namely: $2.5$, $0.5$, and $1.5$).

In the second sample, there is no valid $d$, so $0$ should be printed.

Difficulty: EASY

Solutions:
n = int(input())
positives = 0
negatives = 0
x = (int(i) for i in input().split())
for i in x:
	if i > 0:
		positives += 1
	elif i < 0:
		negatives += 1
if positives >= (n + 1) // 2:
	print(1)
elif negatives >= (n + 1) // 2:
	print(-1)
else:
	print(0)


from collections import deque
import heapq
import math
import bisect

def main():
	N = int(input())
	A = list(map(int, input().split()))
	pos = neg = 0
	for i in range(N):
		if A[i] > 0:
			pos += 1
		elif A[i] < 0:
			neg += 1
	if pos >= (N + 1) // 2:
		print(1)
	elif neg >= (N + 1) // 2:
		print(-1)
	else:
		print(0)
main()


n = int(input(''))
a = input('').split()
positive = 0
negative = 0
for i in range(n):
	a[i] = int(a[i])
	if a[i] > 0:
		positive += 1
	elif a[i] < 0:
		negative += 1
if positive >= (n + 1) // 2:
	print(1)
elif negative >= (n + 1) // 2:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
(x1, x2) = (len([q for q in a if q > 0]), a.count(0))
x3 = n - x1 - x2
if x1 >= (n + 1) // 2:
	print(1)
elif x3 >= (n + 1) // 2:
	print(-1)
else:
	print(0)


n = int(input())
li = list(map(int, input().split()))
zc = 0
pc = 0
nc = 0
for i in li:
	if not i:
		zc += 1
	elif i > 0:
		pc += 1
	else:
		nc += 1
if pc >= n / 2:
	print('1')
elif nc >= n / 2:
	print('-1')
else:
	print('0')


import math
from collections import defaultdict
n = int(input())
arr = list(map(int, input().split()))
d = defaultdict(int)
for el in arr:
	if el > 0:
		d[1] += 1
	elif el < 0:
		d[2] += 1
	else:
		d[0] += 1
mid = math.ceil(n / 2)
if d[1] >= mid:
	print(1)
elif d[2] >= mid:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
p = 0
q = 0
z = 0
for i in range(0, n):
	if a[i] < 0:
		q = q + 1
	if a[i] == 0:
		z = z + 1
	if a[i] > 0:
		p = p + 1
if p >= (n + 1) // 2:
	print(1)
elif q >= (n + 1) // 2:
	print(-1)
else:
	print(0)


from math import ceil as ce
n = int(input())
a = [int(i) for i in input().split()]
pos = 0
neg = 0
for i in a:
	if i > 0:
		pos += 1
	elif i < 0:
		neg += 1
req = ce(n / 2)
if pos < req and neg < req:
	print(0)
elif pos >= req:
	print(1)
elif neg >= req:
	print(-1)


from math import ceil
n = int(input())
a = [int(x) for x in input().split()]
pos = 0
neg = 0
for i in a:
	if i > 0:
		pos += 1
	elif i < 0:
		neg += 1
r = ceil(n / 2)
if pos >= r:
	print(1)
elif neg >= r:
	print(-1)
else:
	print(0)


import math
n = int(input())
A = list(map(int, input().split()))
p = 0
neg = 0
z = 0
for i in A:
	if i > 0:
		p += 1
	elif i < 0:
		neg += 1
	else:
		z += 1
if p < math.ceil(n / 2) and neg < math.ceil(n / 2):
	print('0')
elif p >= math.ceil(n / 2):
	print(1)
elif neg >= math.ceil(n / 2):
	print(-1)


n = int(input())
a = list(map(int, input().split()))
(positive_cnt, negative_cnt) = (0, 0)
for x in a:
	if x > 0:
		positive_cnt += 1
	elif x < 0:
		negative_cnt += 1
if positive_cnt * 2 >= n:
	print(1)
elif negative_cnt * 2 >= n:
	print(-1)
else:
	print(0)


fileReader = None

def getInt():
	if fileReader is None:
		return int(input())
	else:
		return int(fileReader.readline())

def getList():
	if fileReader is None:
		return list(map(int, input().split(' ')))
	else:
		return list(map(int, fileReader.readline().split(' ')))

def getString():
	if fileReader is None:
		return input()
	else:
		return fileReader.readline()
import math
n = getInt()
data = getList()
c = 0
nc = 0
for x in data:
	if x > 0:
		c += 1
	elif x < 0:
		nc += 1
if c >= math.ceil(n / 2):
	print(1)
elif nc >= math.ceil(n / 2):
	print(-1)
else:
	print(0)
if fileReader is not None:
	fileReader.close()


n = int(input())
mat = list(map(int, input().split()))
(pos, zeros) = (0, 0)
for i in mat:
	if i > 0:
		pos += 1
	elif i == 0:
		zeros += 1
stp = (n + 1) // 2
neg = n - pos - zeros
if pos >= stp:
	print(1)
elif neg >= stp:
	print(-1)
else:
	print(0)


n = int(input())
s = 0
g = 0
l = [int(i) for i in input().split()]
for i in l:
	if i > 0:
		s += 1
	if i < 0:
		g += 1
if s >= n // 2 + n % 2:
	print(1)
elif g >= n // 2 + n % 2:
	print(-1)
else:
	print(0)


n = int(input())
line = input()
nums = line.split(' ')
postiveCounter = 0
negativeCounter = 0
minVal = int(n / 2 + n % 2)
for num in nums:
	if int(num) / 1 > 0:
		postiveCounter = postiveCounter + 1
	if int(num) / -1 > 0:
		negativeCounter = negativeCounter + 1
if postiveCounter >= minVal:
	print(1)
elif negativeCounter >= minVal:
	print(-1)
else:
	print(0)


n = int(input())
arr = [int(i) for i in input().split()]
(neg, pos, zero) = (0, 0, 0)
for i in arr:
	if i == 0:
		zero += 1
	elif i > 0:
		pos += 1
	else:
		neg += 1
if n % 2 == 0:
	k = n // 2
	if pos >= k:
		print(1)
	elif neg >= k:
		print(-1)
	else:
		print(0)
else:
	k = n // 2 + 1
	if pos >= k:
		print(1)
	elif neg >= k:
		print(-1)
	else:
		print(0)


n = int(input())
l = [int(x) for x in input().split()]
d = [x for x in l if x > 0]
e = [x for x in l if x < 0]
if n % 2 == 0:
	n = n - 1
if len(e) > len(d) and len(e) >= n // 2 + 1:
	print(-1)
elif len(d) >= len(e) and len(d) >= n // 2 + 1:
	print(1)
else:
	print(0)


n = (int(input()) - 1) // 2
d = a = 0
for i in list(map(int, input().split())):
	if i < 0:
		a += 1
	elif i > 0:
		d += 1
print(1 if d > n else -1 if a > n else 0)


n = int(input())
a = list(map(int, input().split()))
np = len([i for i in a if i > 0])
nn = len([i for i in a if i < 0])
if np >= (n + 1) // 2:
	print(1)
elif nn >= (n + 1) // 2:
	print(-1)
else:
	print(0)


import math
n = int(input())
a = [int(i) for i in input().split(' ')]
p_c = 0
n_c = 0
for e in a:
	if e > 0:
		p_c += 1
	if e < 0:
		n_c += 1
if p_c >= math.ceil(n / 2):
	print(1)
elif n_c >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


from math import ceil
n = int(input())
an = list(map(int, input().split()))
num_p = 0
num_n = 0
for i in an:
	if i > 0:
		num_p += 1
	elif i < 0:
		num_n += 1
need = ceil(n / 2)
if num_p >= need:
	print(1)
elif num_n >= need:
	print(-1)
else:
	print(0)


n = input()
n = int(n)
a = input()
a = a.split()
a = [int(i) for i in a]
pos = 0
neg = 0
for i in a:
	if i > 0:
		pos = pos + 1
	elif i < 0:
		neg = neg + 1
if pos >= (n + 1) // 2:
	print('1')
elif neg >= (n + 1) // 2:
	print('-1')
else:
	print('0')


import math
n = int(input())
arr = list(map(int, input().split()))
a = 0
b = 0
for i in arr:
	if i < 0:
		a += 1
	if i > 0:
		b += 1
cc = math.ceil(n / 2)
if b >= cc:
	print(1)
	exit()
if a >= cc:
	print(-1)
	exit()
print(0)


import math
n = int(input())
arrS = input().split()
arr = [int(i) for i in arrS]
pos = 0
neg = 0
for i in arr:
	if i < 0:
		neg += 1
	if i > 0:
		pos += 1
if pos >= math.ceil(len(arr) / 2):
	print('1')
elif neg >= math.ceil(len(arr) / 2):
	print('-1')
else:
	print('0')


import math
n = int(input())
arr = list(map(int, input().split()))
half = math.ceil(len(arr) / 2)
pos = 0
neg = 0
zero = 0
for i in arr:
	if i == 0:
		zero += 1
	elif i < 0:
		neg += 1
	else:
		pos += 1
if max(pos, neg) < half:
	print(0)
elif pos >= half:
	print(1)
elif neg >= half:
	print(-1)


import sys, math, string
input = sys.stdin.readline
from collections import deque
L = lambda : list(map(int, input().split()))
Ls = lambda : list(input().split())
M = lambda : map(int, input().split())
n = int(input())
l = L()
cp = 0
cn = 0
cz = 0
for i in range(n):
	if l[i] > 0:
		cp += 1
	elif l[i] < 0:
		cn += 1
	else:
		cz += 1
if cp >= n // 2 + n % 2:
	print(1)
elif cn >= n // 2 + n % 2:
	print(-1)
else:
	print(0)


n = int(input())
l = list(map(int, input().split()))
c = 0
c1 = 0
for i in l:
	if i > 0:
		c += 1
	elif i < 0:
		c1 += 1
if c >= (n + 1) // 2:
	print('1')
elif c1 >= (n + 1) // 2:
	print('-1')
else:
	print('0')


n = int(input(''))
b = list(map(int, input('').split()))
a = int((n + 1) / 2)
s = 0
t = len([i for i in b if i > 0])
q = len([i for i in b if i < 0])
if t >= a:
	s = 1
elif q >= a:
	s = -1
print(s)


ii = lambda : int(input())
mi = lambda : map(int, input().split())
li = lambda : list(mi())
n = ii()
l = li()
s = [0, 0]
for i in range(n):
	if l[i] > 0:
		s[0] += 1
	elif l[i] < 0:
		s[1] += 1
import math
v = math.ceil(n / 2)
if s[0] >= v:
	print(1)
elif s[1] >= v:
	print(-1)
else:
	print(0)


import math
n = int(input())
inp = list(map(int, input().split()))
countp = 0
countn = 0
for i in inp:
	if i > 0:
		countp += 1
	elif i < 0:
		countn += 1
m = math.ceil(n / 2)
if countp >= m:
	print(1)
elif countn >= m:
	print(-1)
else:
	print(0)


def main():
	n = int(input())
	a = list(map(int, input().split()))
	(pos_cnt, neg_cnt, zero_cnt) = (0, 0, 0)
	for x in a:
		if x > 0:
			pos_cnt += 1
		elif x == 0:
			zero_cnt += 1
		else:
			neg_cnt += 1
	if pos_cnt >= (n + 1) // 2:
		print(1)
	elif neg_cnt >= (n + 1) // 2:
		print(-1)
	else:
		print(0)
main()


def be_possitive(n, arr):
	ans = 0
	possitive_count = len([x for x in arr if x > 0])
	negative_count = len([x for x in arr if x < 0])
	bound = len(arr) // 2 + len(arr) % 2
	if possitive_count >= bound:
		ans = 1
	elif negative_count >= bound:
		ans = -1
	else:
		ans = 0
	return ans

def main():
	n = int(input())
	arr = [int(x) for x in input().split()]
	print(be_possitive(n, arr))
main()


import math
n = 0
positive = 0
negative = 0
n = int(input())
l = list(map(int, input().split()))
for i in range(n):
	if l[i] > 0:
		positive += 1
	elif l[i] < 0:
		negative += 1
half = math.ceil(n / 2)
if positive >= half:
	print('1')
elif negative >= half:
	print('-1')
else:
	print('0')


import math
n = int(input())
a = list(map(int, input().split()))
m = math.ceil(n / 2)
c1 = c2 = 0
for i in a:
	if i > 0:
		c1 += 1
	elif i < 0:
		c2 += 1
	else:
		pass
if c1 >= m:
	print(1)
elif c2 >= m:
	print(-1)
else:
	print(0)


(n, lst) = (int(input()), [0 if i == 0 else 1 if i > 0 else -1 for i in list(map(int, input().split()))])
print([-1, 1][lst.count(1) >= lst.count(-1)]) if lst.count(1) >= n % 2 + n // 2 or lst.count(-1) >= n % 2 + n // 2 else print('0')


n = int(input())
l = [int(i) for i in input().split()]
pos = 0
neg = 0
zer = 0
for i in l:
	if i > 0:
		pos += 1
	elif i < 0:
		neg += 1
	else:
		zer += 1
if pos >= n / 2:
	print(1)
elif neg >= n / 2:
	print(-1)
else:
	print(0)


bloat = input()
a = input()
a = a.split()
j = len(a)
i = 0
k = 0
for x in a:
	if int(x) > 0:
		i += 1
	elif int(x) < 0:
		k += 1
if 2 * i >= j:
	print('1')
elif 2 * k >= j:
	print('-1')
else:
	print('0')


import sys
n = int(sys.stdin.readline())
if n % 2 == 0:
	n //= 2
else:
	n = n // 2 + 1
flag1 = 0
arr = [int(i) for i in sys.stdin.readline().split()]
for i in range(1, 10 ** 3 + 1):
	cnt1 = 0
	cnt2 = 0
	for j in arr:
		if j / i > 0:
			cnt1 += 1
		if j / (i * -1) > 0:
			cnt2 += 1
	if cnt1 >= n:
		print(i)
		flag1 = 1
		break
	elif cnt2 >= n:
		print(i * -1)
		flag1 = 1
		break
if flag1 != 1:
	print(0)


def solve():
	n = int(input())
	nums = list(map(int, input().split()))
	require = n / 2.0
	if len(list(filter(lambda x: x > 0, nums))) >= require:
		print(1)
	elif len(list(filter(lambda x: x < 0, nums))) >= require:
		print(-1)
	else:
		print(0)
solve()


from bisect import bisect_right as br
from bisect import bisect_left as bl
from collections import defaultdict
from itertools import *
import functools
import sys
import math
MAX = sys.maxsize
MAXN = 10 ** 6 + 10
MOD = 10 ** 9 + 7

def isprime(n):
	n = abs(int(n))
	if n < 2:
		return False
	if n == 2:
		return True
	if not n & 1:
		return False
	for x in range(3, int(n ** 0.5) + 1, 2):
		if n % x == 0:
			return False
	return True

def mhd(a, b, x, y):
	return abs(a - x) + abs(b - y)

def numIN():
	return map(int, sys.stdin.readline().strip().split())

def charIN():
	return sys.stdin.readline().strip().split()

def chk(x, y):
	print(x, '=', y)

def ncr(n, k):
	res = 1
	c = [0] * (k + 1)
	c[0] = 1
	for i in range(1, n + 1):
		for j in range(min(i, k), 0, -1):
			c[j] = (c[j] + c[j - 1]) % MOD
	return c[k]
(p, ne, z) = (0, 0, 0)
n = int(input())
l = list(numIN())
for i in l:
	if i > 0:
		p += 1
	elif i < 0:
		ne += 1
	else:
		z += 1
if p >= (n + 1) // 2:
	print(1)
elif ne >= (n + 1) // 2:
	print(-1)
else:
	print(0)


xx = int(input())
if xx % 2 == 0:
	x = xx // 2
else:
	x = xx // 2 + 1
s = [int(int(n) / (abs(int(n)) - 10 ** (-5))) for n in input().split()]
if s.count(0) > int(x):
	print(0)
elif s.count(1) >= int(x):
	print(1)
elif s.count(-1) >= int(x):
	print(-1)
else:
	print(0)


import sys
sys.setrecursionlimit(10 ** 5 + 1)
inf = int(10 ** 20)
max_val = inf
min_val = -inf
RW = lambda : sys.stdin.readline().strip()
RI = lambda : int(RW())
RMI = lambda : [int(x) for x in sys.stdin.readline().strip().split()]
RWI = lambda : [x for x in sys.stdin.readline().strip().split()]
lens = RI()
elem = RMI()
ans = 0
(pos, neg) = (0, 0)
for i in elem:
	if i != 0:
		if i > 0:
			pos += 1
		else:
			neg += 1
if pos >= -(-lens // 2):
	ans = 1
elif neg >= -(-lens // 2):
	ans = -1
print(ans)


n = int(input())
if n % 2:
	pos_needed = round(n / 2 + 0.5)
else:
	pos_needed = n // 2
pos_count = 0
neg_count = 0
for number in [int(j) for j in input().split()]:
	if number > 0:
		pos_count += 1
	elif number < 0:
		neg_count += 1
if pos_count >= pos_needed:
	print(1)
elif neg_count >= pos_needed:
	print(-1)
else:
	print(0)


n = int(input())
l = list(map(int, input().split()))
c = 0
d = 0
for i in range(n):
	if l[i] > 0:
		c += 1
	elif l[i] < 0:
		d += 1
r = n / 2
if c >= r:
	print('1')
elif d >= r:
	print('-1')
else:
	print('0')


n = int(input())
str_arr = input().split()
arr = [int(num) for num in str_arr]
np = 0
nn = 0
for i in range(n):
	if arr[i] > 0:
		np = np + 1
	elif arr[i] < 0:
		nn = nn + 1
if n % 2 == 1:
	j = int(n / 2) + 1
else:
	j = int(n / 2)
if np >= j:
	print('1')
elif nn >= j:
	print('-1')
else:
	print('0')


n = int(input())
ai = list(map(int, input().split()))
num = 0
num2 = 0
for i in range(n):
	if ai[i] > 0:
		num += 1
	elif ai[i] < 0:
		num2 += 1
n2 = n // 2 + n % 2
if num >= n2:
	print(1)
elif num2 >= n2:
	print(-1)
else:
	print(0)


import math
n = int(input())
arr = [int(x) for x in input().split()]
numPositive = 0
numNegatives = 0
for x in arr:
	if x > 0:
		numPositive += 1
	elif x < 0:
		numNegatives += 1
if numPositive >= int(math.ceil(n / 2)):
	print(1)
elif numNegatives >= int(math.ceil(n / 2)):
	print(-1)
else:
	print(0)


def ans(arr):
	cnt_p = 0
	cnt_n = 0
	for i in range(n):
		if arr[i] > 0:
			cnt_p += 1
		if arr[i] < 0:
			cnt_n += 1
	if cnt_p >= (n + 1) // 2:
		return 1
	elif cnt_n >= (n + 1) // 2:
		return -1
	return 0
n = int(input())
a = list(map(int, input().strip().split()))
print(ans(a))


from math import gcd, pow, ceil
from functools import reduce

def main():
	n = int(input())
	arr = map(int, input().split())
	neg = 0
	pos = 0
	for i in arr:
		if i < 0:
			neg += 1
		elif i > 0:
			pos += 1
	if pos >= ceil(n / 2):
		print(1)
	elif neg >= ceil(n / 2):
		print(-1)
	else:
		print(0)
main()


from math import ceil
n = int(input())
p = ceil(n / 2)
a = list(map(int, input().split()))
d = nd = 0
for i in range(n):
	if a[i] > 0:
		d += 1
	elif a[i] < 0:
		nd += 1
if d >= p:
	print(1)
elif nd >= p:
	print(-1)
else:
	print(0)


from __future__ import division, print_function
import os, sys
from io import BytesIO, IOBase
if sys.version_info[0] < 3:
	from __builtin__ import xrange as range
	from future_builtins import ascii, filter, hex, map, oct, zip

def ii():
	return int(input())

def si():
	return input()

def mi():
	return map(int, input().split())

def li():
	return list(mi())

def read():
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')

def gcd(x, y):
	while y:
		(x, y) = (y, x % y)
	return x

def lcm(a, b):
	return a * b // gcd(a, b)
mod = 1000000007
import math
import bisect
abc = 'abcdefghijklmnopqrstuvwxyz'

def main():
	n = ii()
	a = li()
	c = e = 0
	for i in range(n):
		if a[i] > 0:
			c += 1
		elif a[i] < 0:
			e += 1
	x = int(math.ceil(n / 2))
	if c >= x:
		ans = 1
	elif e >= x:
		ans = -1
	else:
		ans = 0
	print(ans)
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')

def print(*args, **kwargs):
	(sep, file) = (kwargs.pop('sep', ' '), kwargs.pop('file', sys.stdout))
	at_start = True
	for x in args:
		if not at_start:
			file.write(sep)
		file.write(str(x))
		at_start = False
	file.write(kwargs.pop('end', '\n'))
	if kwargs.pop('flush', False):
		file.flush()
if sys.version_info[0] < 3:
	(sys.stdin, sys.stdout) = (FastIO(sys.stdin), FastIO(sys.stdout))
else:
	(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


import sys
from itertools import *
from cmath import *
input = sys.stdin.readline
from math import *

def inp():
	return int(input().strip())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())
n = inp()
arr = inlt()
s1 = 0
s2 = 0
for el in arr:
	if el > 0:
		s1 += 1
	elif el < 0:
		s2 += 1
if s1 * 2 >= n:
	print('1')
elif s2 * 2 >= n:
	print('-1')
else:
	print('0')


import math
n = int(input())
a = list(map(int, input().split(' ')))
k = math.ceil(len(a) / 2)
nop = 0
non = 0
noz = 0
for i in a:
	if i > 0:
		nop += 1
	elif i < 0:
		non += 1
	else:
		noz += 1
if nop >= noz and nop >= k:
	print('1')
elif non >= nop and non >= k:
	print('-1')
else:
	print('0')


n = int(input())
nums = [int(x) for x in input().split()]
neg_count = len(list(filter(lambda x: x < 0, nums)))
pos_count = len(list(filter(lambda x: x > 0, nums)))
result = 0
if n % 2 == 0:
	need_nums = n // 2 - 1
else:
	need_nums = n // 2
if pos_count > need_nums:
	result = 1
elif neg_count > need_nums:
	result = -1
print(result)


n = int(input())
lst = list(map(int, str(input()).split()))
if n / 2 == int(n / 2):
	half = int(n / 2)
else:
	half = int(n / 2) + 1

def pos(l, h):
	pos = 0
	neg = 0
	for k in range(len(l)):
		if l[k] > 0:
			pos += 1
		elif l[k] < 0:
			neg += 1
	if pos >= h:
		return 1
	elif neg >= h:
		return -1
	else:
		return 0
print(str(pos(lst, half)))


import math
n = int(input())
l = list(map(int, input().split()))
s = math.ceil(n / 2)
(ans, ans0) = (0, 0)
for i in range(n):
	if l[i] > 0:
		ans += 1
	elif l[i] < 0:
		ans0 += 1
if ans == ans0 and (ans >= s and ans0 >= s):
	print(1)
elif ans >= s and ans0 < s:
	print(1)
elif ans < s and ans0 >= s:
	print(-1)
else:
	print(0)


import math
n = int(input())
array = [int(s) for s in input().split(' ')]
pos = 0
neg = 0
for i in range(n):
	pos += int(array[i] > 0)
	neg += int(array[i] < 0)
n = math.ceil(n / 2)
if pos >= n:
	print(1)
elif neg >= n:
	print(-1)
else:
	print(0)


from math import ceil
n = int(input())
numbers = map(int, input().split())
positives = 0
negatives = 0
for number in numbers:
	if number > 0:
		positives += 1
	elif number < 0:
		negatives += 1
half = ceil(n / 2)
if positives >= half:
	print(1)
elif negatives >= half:
	print(-1)
else:
	print(0)


import sys
from collections import defaultdict, deque
n = int(input())
a = list(map(int, input().split()))
pos = 0
neg = 0
zer = 0
for ai in a:
	if ai > 0:
		pos += 1
	elif ai < 0:
		neg += 1
	else:
		zer += 1
k = n // 2 + (1 if n % 2 != 0 else 0)
if pos >= k:
	res = 1
elif neg >= k:
	res = -1
else:
	res = 0
print(res)


n = int(input())
s = [int(x) for x in input().split()]
c1 = 0
c2 = 0
c3 = 0
for i in range(0, len(s)):
	if s[i] > 0:
		c1 = c1 + 1
	elif s[i] == 0:
		c2 = c2 + 1
	else:
		c3 = c3 + 1
t = n // 2
if n % 2 != 0:
	t = t + 1
if c1 >= t:
	print(1)
elif c3 >= t:
	print(-1)
else:
	print(0)


n = int(input())
a = [int(i) for i in input().split()]
coln = 0
colp = 0
colo = 0
if n % 2 == 0:
	p = n // 2
else:
	p = n // 2 + 1
for i in range(n):
	if a[i] > 0:
		colp += 1
	elif a[i] < 0:
		coln += 1
	else:
		colo += 1
if colp >= p:
	print(1)
elif colp <= p and coln >= p:
	print(-1)
else:
	print(0)


input()
data = list(map(int, input().split()))
n = len(data)
nz = sum((v == 0 for v in data))
npos = sum((v > 0 for v in data))
nneg = n - nz - npos
if npos >= (n + 1) // 2:
	print('1')
elif nneg >= (n + 1) // 2:
	print('-1')
else:
	print('0')


import math
q = int(input())
a = list(map(int, input().split()))
e = math.ceil(len(a) / 2)
pos = len(list(filter(lambda x: x > 0, a)))
neg = len(list(filter(lambda x: x < 0, a)))
if pos >= e:
	print(1)
elif neg >= e:
	print(-1)
else:
	print(0)


n = int(input())
A = list(map(int, input().split()))
P = []
Z = []
N = []
for a in A:
	if a > 0:
		P.append(a)
	elif a == 0:
		Z.append(a)
	else:
		N.append(a)
if len(P) >= (n + 1) // 2:
	print(1)
elif len(N) >= (n + 1) // 2:
	print(-1)
else:
	print(0)


from sys import stdin, stdout
from itertools import combinations
from collections import defaultdict
import math

def listIn():
	return list(map(int, stdin.readline().strip().split()))

def stringListIn():
	return [x for x in stdin.readline().split()]

def intIn():
	return int(stdin.readline())

def stringIn():
	return stdin.readline().strip()
n = intIn()
A = listIn()
c = n // 2 if n % 2 == 0 else n // 2 + 1
(cp, cn) = (0, 0)
for ele in A:
	if ele > 0:
		cp += 1
	elif ele < 0:
		cn += 1
(o, t) = (cp < c, cn < c)
if o and t:
	print(0)
elif o:
	print(-1)
else:
	print(1)


n = int(input())
pos = 0
neg = 0
l = list(map(int, input().split()))
for i in l:
	inp = i
	if inp > 0:
		pos = pos + 1
	if inp < 0:
		neg = neg + 1
if pos >= n / 2:
	print(1)
elif neg >= n / 2:
	print(-1)
else:
	print(0)


import math
n = int(input())
l = list(map(int, input().split()))
m = math.ceil(n / 2)
lst = [0 if i == 0 else 1 if i > 0 else -1 for i in l]
if lst.count(1) >= m:
	print(1)
elif lst.count(-1) >= m:
	print(-1)
else:
	print(0)


n = int(input())
ar = list(map(int, input().split()))
pos = 0
neg = 0
for a in ar:
	if a > 0:
		pos += 1
	elif a < 0:
		neg += 1
if pos * 2 >= n:
	print(1)
elif neg * 2 >= n:
	print(-1)
else:
	print(0)


import math
n = int(input())
arr = list(map(int, input().split()))
neg = 0
pos = 0
nuls = 0
for i in range(n):
	if arr[i] > 0:
		pos += 1
	elif arr[i] < 0:
		neg += 1
	else:
		nuls += 1
if max(neg, pos) >= n / 2:
	if neg > pos:
		print(-1)
	else:
		print(1)
else:
	print(0)


n = int(input())
x = [int(x) for x in input().split()]
cp = cn = 0
for i in x:
	if i > 0:
		cp += 1
	elif i < 0:
		cn += 1
if cp >= n / 2:
	print(1)
elif cn >= n / 2:
	print(-1)
else:
	print(0)


from sys import exit
inn = lambda : input().strip()
mapp = lambda : map(int, inn().split(' '))
N = int(inn())
arr = tuple(mapp())
positive = negative = 0
for a in arr:
	if a > 0:
		positive += 1
	elif a < 0:
		negative += 1
target = None
if N % 2 == 0:
	target = N // 2
else:
	target = N // 2 + 1
if positive >= target:
	print(1)
	exit()
elif negative >= target:
	print(-1)
	exit()
else:
	print(0)


import math
n = int(input())
(p, f) = (0, 0)
for i in input().split():
	if int(i) > 0:
		p += 1
	elif int(i) < 0:
		f += 1
if max(f, p) >= math.ceil(n / 2):
	if f > p:
		print(-1)
	else:
		print(1)
else:
	print(0)


n = int(input())
polozhit = 0
otricat = 0
nuli = 0
vhod = input()
chisla = vhod.split(' ')
for i in range(n):
	chislo = int(chisla[i])
	if chislo > 0:
		polozhit += 1
	elif chislo < 0:
		otricat += 1
	else:
		nuli += 1
if polozhit >= otricat + nuli:
	print(1)
elif otricat >= polozhit + nuli:
	print(-1)
else:
	print(0)


from math import ceil
n = int(input())
A = [int(x) for x in input().split()]
pos = 0
neg = 0
for x in A:
	if x > 0:
		pos += 1
	elif x < 0:
		neg += 1
if pos >= ceil(n / 2):
	print(1)
elif neg >= ceil(n / 2):
	print(-1)
else:
	print(0)


import sys
i = input()
i = int(i)
x = i // 2 + i % 2
n = input()
now = map(int, n.split(' '))
pos = 0
neg = 0
for i in now:
	if i > 0:
		pos += 1
	if i < 0:
		neg += 1
if pos >= x:
	print(1)
	sys.exit(0)
if neg >= x:
	print(-1)
	sys.exit(0)
print(0)


input()
s = list(map(int, input().split()))
n = (len(s) + 1) // 2
pos = neg = 0
for i in s:
	pos += 1 if i > 0 else 0
	neg += 1 if i < 0 else 0
print(1 if pos >= n else -1 if neg >= n else 0)


input()
a = list(map(int, input().split()))
(pos, neg) = (0, 0)
for x in a:
	if x > 0:
		pos += 1
	elif x < 0:
		neg += 1
if pos >= len(a) / 2:
	print(1)
elif neg >= len(a) / 2:
	print(-1)
else:
	print(0)


import math
n = int(input())
nums = [int(x) for x in input().split()]
(num_pos, num_neg) = (0, 0)
for x in nums:
	if x > 0:
		num_pos += 1
	elif x < 0:
		num_neg += 1
if num_pos >= math.ceil(n / 2):
	print(1)
elif num_neg >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


import math
n = int(input())
a = [int(i) for i in input().split()]
p = 0
neg = 0
z = 0
for i in a:
	if i > 0:
		p = p + 1
	elif i < 0:
		neg = neg + 1
	else:
		z = z + 1
k = n / 2
if k % 1 != 0:
	k = k + 0.5
if p >= k:
	print('1')
elif neg >= k:
	print('-1')
else:
	print('0')


N = int(input())
if N % 2 == 0:
	N = N / 2
else:
	N = int(N / 2) + 1
(countP, countN) = (0, 0)
L = list(map(int, input().split()))
for i in range(len(L)):
	if L[i] > 0:
		countP += 1
	elif L[i] < 0:
		countN += 1
if countP >= N:
	print('1')
elif countN >= N:
	print('-1')
else:
	print('0')


from math import *
N = int(input())
n = ceil(N / 2)
po = 0
ne = 0
li = list(map(int, input().split(' ')))
for i in li:
	if i > 0:
		po += 1
	elif i < 0:
		ne += 1
if po >= n:
	print(1)
elif ne >= n:
	print(-1)
else:
	print(0)


def positive_problem():
	(pos_num, neg_num) = (0, 0)
	n = eval(input())
	a = input().split(' ')
	for i in range(len(a)):
		a[i] = eval(a[i])
	for i in range(len(a)):
		if a[i] > 0:
			pos_num += 1
		elif a[i] < 0:
			neg_num += 1
	if n % 2 == 0:
		p = n // 2
	else:
		p = n // 2 + 1
	if pos_num >= p or neg_num >= p:
		if pos_num >= p:
			print('1')
		elif neg_num >= p and pos_num < p:
			print('-1')
	else:
		print('0')
	return
positive_problem()


import sys
import math as mt
input = sys.stdin.buffer.readline
t = 1
for ___ in range(t):
	n = int(input())
	l = list(map(int, input().split()))
	(pos, neg) = (0, 0)
	for i in l:
		if i > 0:
			pos += 1
		if i < 0:
			neg += 1
	if pos >= mt.ceil(n / 2):
		print(1)
	elif neg >= mt.ceil(n / 2):
		print(-1)
	else:
		print(0)


import math
n = int(input())
l = [int(e) for e in input().split()]
nb = sum([1 for e in l if e > 0])
nbs = sum([1 for e in l if e < 0])
if nb >= math.ceil(n / 2.0):
	print(1)
elif nbs >= math.ceil(n / 2.0):
	print(-1)
else:
	print(0)


n = int(input())
l = list(map(int, input().split()))
positive = 0
negative = 0
for i in l:
	if i > 0:
		positive += 1
	elif i < 0:
		negative += 1
required = 0
if n % 2 == 0:
	required = n / 2
else:
	required = n // 2 + 1
if positive >= required:
	print(1)
elif negative >= required:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
cntplus = 0
cntminus = 0
for i in a:
	if i > 0:
		cntplus += 1
	elif i < 0:
		cntminus += 1
if cntplus >= -(-len(a) // 2):
	print('1')
elif cntminus >= -(-len(a) // 2):
	print('-1')
else:
	print('0')


n = int(input())
a = [int(i) for i in input().split()]
from math import ceil
div = ceil(n / 2)
c = 0
c1 = 0
for i in range(n):
	if a[i] > 0:
		c += 1
	if a[i] < 0:
		c1 += 1
if c >= div:
	print(1)
elif c1 >= div:
	print(-1)
else:
	print(0)


n = int(input())
liste = list(map(int, input().split()))
if n != len(liste) or not 1 <= n <= 100:
	print('Invalid input')
	quit()
if sum((i > 0 for i in liste)) >= n / 2:
	print(1)
elif sum((i < 0 for i in liste)) >= n / 2:
	print(-1)
else:
	print(0)


from collections import deque, Counter, OrderedDict
from heapq import nsmallest, nlargest
from math import ceil, floor, log, log2, sqrt, gcd, factorial, pow, pi

def binNumber(n, size=4):
	return bin(n)[2:].zfill(size)

def iar():
	return list(map(int, input().split()))

def ini():
	return int(input())

def isp():
	return map(int, input().split())

def sti():
	return str(input())

def par(a):
	print(' '.join(list(map(str, a))))

def tdl(outerListSize, innerListSize, defaultValue=0):
	return [[defaultValue] * innerListSize for i in range(outerListSize)]

class pair:

	def __init__(self, f, s):
		self.fi = f
		self.se = s

	def __lt__(self, other):
		return (self.fi, self.se) < (other.fi, other.se)
n = ini()
a = iar()
k1 = 0
k2 = 0
for i in a:
	if i > 0:
		k1 += 1
	elif i < 0:
		k2 += 1
s = ceil(n / 2)
if k1 >= k2 and k1 >= s:
	print(1)
elif k2 >= k1 and k2 >= s:
	print(-1)
else:
	print(0)


import math
n = int(input())
arr = list(map(int, input().split()))
half = math.ceil(n / 2)
negCounter = 0
posCounter = 0
for num in arr:
	if num < 0:
		negCounter += 1
	elif num > 0:
		posCounter += 1
if negCounter > posCounter and negCounter >= half:
	print(-1)
elif posCounter > negCounter and posCounter >= half:
	print(1)
elif posCounter == negCounter and posCounter >= half:
	print(1)
else:
	print(0)


from math import ceil
n = int(input())
a = list(map(int, input().split()))
tmp = ceil(n / 2)
positive = 0
negative = 0
zero = 0
for i in a:
	if i > 0:
		positive += 1
	elif i < 0:
		negative += 1
	elif i == 0:
		zero += 1
if positive >= tmp:
	print(1)
elif negative >= tmp:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
p = 0
flag = True
m = 0
for i in range(len(a)):
	if a[i] < 0:
		m += 1
	if a[i] > 0:
		p += 1
if m > p:
	if n // 2 + n % 2 <= m:
		print(-1)
		flag = False
elif n // 2 + n % 2 <= p:
	print(1)
	flag = False
if flag:
	print(0)


N = int(input())
A = list(map(int, input().split()))
print(1 if len([a for a in A if a > 0]) >= -(-N // 2) else -1 if len([a for a in A if a < 0]) >= -(-N // 2) else 0)


import sys
import math
get_string = lambda : sys.stdin.readline().strip()
get_int_list = lambda : list(map(int, sys.stdin.readline().strip().split()))
get_intList_from_str = lambda : list(map(int, list(sys.stdin.readline().strip())))
get_charList_from_str = lambda : list(sys.stdin.readline().strip())
get_char_list = lambda : sys.stdin.readline().strip().split()
get_int = lambda : int(sys.stdin.readline())
pt = lambda x: sys.stdout.write(str(x))
n = get_int()
lst = get_int_list()
pos = 0
neg = 0
for i in range(n):
	if lst[i] > 0:
		pos += 1
	if lst[i] < 0:
		neg += 1
if math.ceil(n / 2) <= pos:
	print(1)
elif math.ceil(n / 2) <= neg:
	print(-1)
else:
	print(0)


import math
n = int(input())
a = input().split(' ')
positive_count_1 = 0
positive_count_neg1 = 0
d = False
e = False
n_rounded = math.ceil(n / 2)
for i in range(n):
	a[i] = int(a[i])
	if a[i] > 0:
		positive_count_1 += 1
else:
	if positive_count_1 >= n_rounded:
		print('1')
		d = True
if not d:
	for i in range(n):
		a[i] *= -1
		if a[i] > 0:
			positive_count_neg1 += 1
	else:
		if positive_count_neg1 >= n_rounded:
			print('-1')
			e = True
if not d and (not e):
	print(0)


n = int(input())
(a, b) = (0, 0)
v = list(map(int, input().split()))
for i in v:
	if i > 0:
		a += 1
	elif i < 0:
		b += 1
ans = int(n / 2)
if n % 2 != 0:
	ans += 1
if a >= ans:
	print(1)
elif b >= ans:
	print(-1)
else:
	print(0)


import sys
import math
import time
c = int(input())
a = [int(j) for j in input().split()]
cP = 0
cN = 0
for n in a:
	if n > 0:
		cP += 1
	if n < 0:
		cN += 1
print('1' if cP >= math.ceil(c / 2) else '-1' if cN >= math.ceil(c / 2) else '0')


import math
N = int(input())
a = [int(x) for x in input().split()]
numpos = 0
numneg = 0
for ai in a:
	if ai > 0:
		numpos += 1
	elif ai < 0:
		numneg += 1
thresh = math.ceil(len(a) / 2.0)
if numpos >= thresh:
	print(1)
elif numneg >= thresh:
	print(-1)
else:
	print(0)


n = int(input())
a = [int(i) for i in input().split()]
b = 0
c = 0
for i in a:
	if i > 0:
		b = b + 1
	elif i < 0:
		c = c + 1
if b * 2 >= n:
	print(1)
elif c * 2 >= n:
	print(-1)
else:
	print(0)


import math
n = int(input())
x = list(map(int, input().split()))
m1 = 0
m2 = 0
for a in x:
	if a > 0:
		m1 += 1
	elif a < 0:
		m2 += 1
if m1 >= math.ceil(n / 2) or m2 >= math.ceil(n / 2):
	if m2 > m1:
		print(-1)
	else:
		print(1)
else:
	print(0)


import math
n = int(input())
counter_positive = 0
counter_negative = 0
listing = list(input().split())
for i in listing:
	if int(i) > 0:
		counter_positive = counter_positive + 1
	elif int(i) < 0:
		counter_negative = counter_negative + 1
value = math.ceil(n / 2)
if counter_positive >= value:
	print(1)
elif counter_negative >= value:
	print(-1)
else:
	print(0)


import sys
import math
n = sys.stdin.readline()
n = n.replace('\n', '')
n = int(n)
m = int(math.ceil(n / 2))
l = sys.stdin.readline()
l = l.split(' ')
l[-1] = l[-1].replace('\n', '')
for i in range(len(l)):
	l[i] = int(l[i])
p = 0
n = 0
for i in range(len(l)):
	if l[i] > 0:
		p += 1
	elif l[i] < 0:
		n += 1
if p >= m:
	print(1)
elif n >= m:
	print(-1)
else:
	print(0)


from collections import deque as de
import math
from collections import Counter as cnt
from functools import reduce
from typing import MutableMapping
from itertools import groupby as gb
from fractions import Fraction as fr

def factors(n):
	return set(reduce(list.__add__, ([i, n // i] for i in range(1, int(n ** 0.5) + 1) if n % i == 0)))

class My_stack:

	def __init__(self):
		self.data = []

	def my_push(self, x):
		return self.data.append(x)

	def my_pop(self):
		return self.data.pop()

	def my_peak(self):
		return self.data[-1]

	def my_contains(self, x):
		return self.data.count(x)

	def my_show_all(self):
		return self.data

	def isEmpty(self):
		return len(self.data) == 0
arrStack = My_stack()

def decimalToBinary(n):
	return bin(n).replace('0b', '')

def isPrime(n):
	if n <= 1:
		return False
	if n <= 3:
		return True
	if n % 2 == 0 or n % 3 == 0:
		return False
	i = 5
	while i * i <= n:
		if n % i == 0 or n % (i + 2) == 0:
			return False
		i = i + 6
	return True

def get_prime_factors(number):
	prime_factors = []
	while number % 2 == 0:
		prime_factors.append(2)
		number = number / 2
	for i in range(3, int(math.sqrt(number)) + 1, 2):
		while number % i == 0:
			prime_factors.append(int(i))
			number = number / i
	if number > 2:
		prime_factors.append(int(number))
	return prime_factors

def get_frequency(list):
	dic = {}
	for ele in list:
		if ele in dic:
			dic[ele] += 1
		else:
			dic[ele] = 1
	return dic

def Log2(x):
	return math.log10(x) / math.log10(2)

def isPowerOfTwo(n):
	return math.ceil(Log2(n)) == math.floor(Log2(n))

def ceildiv(x, y):
	return (x + y - 1) // y
n = int(input())
a = list(map(int, input().split()))
pc = 0
nc = 0
for i in range(n):
	if a[i] > 0:
		pc += 1
	if a[i] < 0:
		nc += 1
if pc >= math.ceil(n / 2):
	print(1)
elif nc >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


n = int(input())
l = sorted([*map(int, input().split())])
p = sum((1 for e in l if e > 0))
neg = sum((1 for e in l if e < 0))
if p >= (n + 1) // 2:
	res = 1
elif neg >= (n + 1) // 2:
	res = -1
else:
	res = 0
print(res)


import math
n = math.ceil(int(input()) / 2)
s = input().split()
pos_a = sum((1 for i in s if int(i) > 0))
neg_a = sum((1 for i in s if int(i) < 0))
print(1 if n <= pos_a else -1 if n <= neg_a else 0)


n = int(input())
a = list(map(int, input().split()))
o = 0
e = 0
for i in range(len(a)):
	if a[i] > 0:
		e += 1
	elif a[i] < 0:
		o += 1
if n % 2 == 0:
	n = n // 2
else:
	n //= 2
	n += 1
if e >= o and e >= n:
	print(1)
elif o > e and o >= n:
	print(-1)
else:
	print(0)


n = int(input())
arr = list(map(int, input().split()))
count1 = 0
count2 = 0
count3 = 0
for i in range(n):
	if arr[i] == 0:
		count1 += 1
	elif arr[i] > 0:
		count2 += 1
	else:
		count3 += 1
if count2 >= count1 + count3:
	print(1)
elif count3 >= count1 + count2:
	print(-1)
else:
	print(0)


from math import ceil
n = int(input())
arr = list(map(int, input().split()))
num = int(ceil(n / 2))
pos = 0
neg = 0
for i in arr:
	if i > 0:
		pos += 1
	elif i < 0:
		neg += 1
if pos >= num:
	print(1)
elif neg >= num:
	print(-1)
else:
	print(0)


n = int(input())
s = [int(i) for i in input().split()]
(p, ne) = (0, 0)
for i in s:
	if i > 0:
		p += 1
	if i < 0:
		ne += 1
n = -(-n // 2)
if p >= n:
	print(1)
elif ne >= n:
	print(-1)
else:
	print(0)


import math
from collections import deque, defaultdict
from sys import stdin, stdout
input = stdin.readline
listin = lambda : list(map(int, input().split()))
mapin = lambda : map(int, input().split())
n = int(input())
z = listin()
numpos = 0
numneg = 0
for i in z:
	if i < 0:
		numneg += 1
	elif i > 0:
		numpos += 1
if numpos >= n // 2 + int(n % 2):
	print(1)
elif numneg >= n // 2 + int(n % 2):
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
count = 0
count1 = 0
for i in range(n):
	if a[i] > 0:
		count += 1
	if a[i] < 0:
		count1 += 1
if count >= n / 2:
	print(1)
elif count1 >= n / 2:
	print(-1)
else:
	print(0)


import math
n = int(input())
lst = [float(x) for x in input().split()]
num = math.ceil(n / 2)
(pos_count, neg_count) = (0, 0)
for z in lst:
	if z > 0:
		pos_count += 1
	elif z < 0:
		neg_count += 1
if num <= pos_count:
	print(1)
elif num <= neg_count:
	print(-1)
else:
	print(0)


from math import *
n = int(input())
a = list(map(int, input().split(' ')))
while a.count(0) > 0:
	a.remove(0)
c = 0
c2 = 0
for i in a:
	if i > 0:
		c += 1
	if i < 0:
		c2 += 1
if c >= int(ceil(n / 2)):
	print(1)
elif c2 >= int(ceil(n / 2)):
	print(-1)
else:
	print(0)


n = int(input())
q = (n + 2 - 1) // 2
s = list(map(int, input().split()))
f = 0
for i in s:
	if i > 0:
		q -= 1
	elif i < 0:
		f += 1
if q <= 0:
	print(1)
elif f >= (n + 2 - 1) // 2:
	print(-1)
else:
	print(0)


x = int(input())
c = 0
b = 0
l = list(map(int, input().split()))
for i in range(0, x):
	if l[i] > 0:
		c += 1
	elif l[i] < 0:
		b += 1
if x % 2 == 0:
	x = x
else:
	x = x + 1
if c >= b:
	if c >= x // 2:
		print(1)
	else:
		print(0)
elif b > c:
	if b >= x // 2:
		print(-1)
	else:
		print(0)


n = int(input())
a = [int(i) for i in input().split()]
minNum = (n + 1) // 2
posNum = negNum = 0
for item in a:
	if item > 0:
		posNum += 1
	elif item < 0:
		negNum += 1
if posNum >= minNum:
	print(1)
elif negNum >= minNum:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
pol = 0
otr = 0
for i in a:
	if i > 0:
		pol += 1
	if i < 0:
		otr += 1
kol = n // 2
if n % 2 == 1:
	kol += 1
if pol >= kol:
	print(1)
elif otr >= kol:
	print(-1)
else:
	print(0)


from math import ceil
n = int(input())
a = list(map(int, input().split()))
(k1, k2, k3) = (0, 0, 0)
for i in a:
	k1 += i > 0
	k2 += i == 0
	k3 += i < 0
if k1 >= ceil(n / 2):
	print(1)
elif k3 >= ceil(n / 2):
	print(-1)
else:
	print(0)


import math
n = int(input())
a = list(map(int, input().split()))
c = math.ceil(n / 2)
p = 0
ne = 0
for i in range(n):
	if a[i] > 0:
		p += 1
	elif a[i] < 0:
		ne += 1
if p >= c:
	print(1)
elif ne >= c:
	print(-1)
else:
	print(0)


n = int(input())
a = [int(j) for j in input().split()]
(countp, countn, countz) = (0, 0, 0)
for x in a:
	if x > 0:
		countp += 1
	elif x == 0:
		countz += 1
	else:
		countn += 1
if n % 2 == 0 and countp >= n / 2 or (n % 2 != 0 and countp > n / 2):
	print(1)
elif n % 2 == 0 and countn >= n / 2 or (n % 2 != 0 and countn > n / 2):
	print(-1)
else:
	print(0)


n = int(input())
arr = list(map(int, input().split()))
(cntp, cntn) = (0, 0)
for i in range(n):
	if arr[i] > 0:
		cntp += 1
	elif arr[i] < 0:
		cntn += 1
if cntp >= n / 2:
	print(1)
elif cntn >= n / 2:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
(x, y, z) = (0, 0, 0)
for b in a:
	if b < 0:
		x += 1
	elif b > 0:
		z += 1
	else:
		y += 1
more_half = (n - 1) // 2 + 1
if z >= more_half:
	print(1)
elif x >= more_half:
	print(-1)
else:
	print(0)


n = int(input())
a = [int(i) for i in input().split()]
minus = 0
plus = 0
for el in a:
	if el > 0:
		minus += 1
	elif el < 0:
		plus += 1
if minus >= n // 2 + n % 2:
	print(1)
elif plus >= n // 2 + n % 2:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
count_poss = 0
count_neg = 0
if len(a) % 2 == 0:
	s = len(a) // 2
else:
	s = len(a) // 2 + 1
for x in a:
	if x >= 1:
		count_poss += 1
	elif x <= -1:
		count_neg += 1
if count_poss >= s:
	print(1)
elif count_neg >= s:
	print(-1)
else:
	print(0)


TN = 1

def solution():
	from math import ceil
	n = int(input())
	a = list(map(int, input().split()))
	pl = 0
	otr = 0
	nl = 0
	for i in range(n):
		if a[i] > 0:
			pl += 1
		elif a[i] < 0:
			otr += 1
		else:
			nl += 1
	if pl >= ceil(n / 2):
		print(1)
	elif otr >= ceil(n / 2):
		print(-1)
	else:
		print(0)
while TN != 0:
	solution()
	TN -= 1


import math
x = int(input())
(y, p, n) = (math.ceil(x / 2), 0, 0)
f = list(map(int, input().split()))
for i in f:
	if i > 0:
		p += 1
	if i < 0:
		n += 1
if p >= y:
	print(1)
elif n >= y:
	print(-1)
else:
	print(0)


n = int(input())
k = 0
otr = 0
a = [int(s) for s in input().split()]
for i in range(n):
	if a[i] < 0:
		otr += 1
	elif a[i] > 0:
		k += 1
if k >= n / 2:
	print(1)
elif otr >= n / 2:
	print(-1)
else:
	print(0)


import math
n = int(input())
a = list(map(int, input().split()))
p = 0
p1 = 0
for i in range(len(a)):
	if a[i] > 0:
		p += 1
	if a[i] < 0:
		p1 += 1
if p >= math.ceil(n / 2):
	print(1)
elif p1 >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


n = int(input())
x = input().split()
x = list(map(int, x))
pos = len([i for i in x if i > 0])
neg = len([i for i in x if i < 0])
if pos >= neg and pos >= len(x) / 2:
	print(1)
elif pos < neg and neg >= len(x) / 2:
	print(-1)
else:
	print(0)


import sys
import math
import bisect
import itertools

def main():
	n = int(input())
	A = list(map(int, input().split()))
	B = [0] * 2
	for a in A:
		if a > 0:
			B[0] += 1
		elif a < 0:
			B[1] += 1
	if B[0] >= math.ceil(n / 2):
		print(1)
	elif B[1] >= math.ceil(n / 2):
		print(-1)
	else:
		print(0)
main()


n = (int(input()) + 1) // 2
a = [int(i) for i in input().split()]
p = m = f = 0
for i in a:
	if i > 0:
		p += 1
	elif i:
		m += 1
if p >= n:
	f = 1
elif m >= n:
	f = -1
print(f)


from math import ceil
a = int(input())
b = list(map(int, input().split()))
cnt = 0
c = 0
d = 0
for i in b:
	if i < 0:
		cnt += 1
	elif i > 0:
		c += 1
	else:
		d += 1
if c >= ceil(len(b) / 2):
	print('1')
elif cnt >= ceil(len(b) / 2):
	print('-1')
else:
	print('0')


gi = lambda : list(map(int, input().split()))
(n, L) = (gi()[0], gi())
if len([e for e in L if e > 0]) >= n // 2 + n % 2:
	print(1)
	exit()
elif len([e for e in L if e < 0]) >= n // 2 + n % 2:
	print(-1)
	exit()
print(0)


import math
n = int(input())
l = list(map(int, input().split()))
k = math.ceil(n / 2)
c = 0
d = 0
for i in l:
	if i > 0:
		c = c + 1
	elif i < 0:
		d = d + 1
if c < k and d < k:
	print(0)
elif c >= k:
	print(1)
elif d >= k:
	print(-1)


n = int(input())
li = list(map(int, input().split()))
plus = 0
minus = 0
for i in li:
	if i > 0:
		plus += 1
	if i < 0:
		minus += 1
if plus >= (n + 1) // 2:
	print(1)
elif minus >= (n + 1) // 2:
	print(-1)
else:
	print(0)


n = int(input())
arr = map(int, input().split())
div = int(n / 2 + 0.5)
cntPos = 0
cntNeg = 0
for i in arr:
	if i > 0:
		cntPos += 1
	elif i < 0:
		cntNeg += 1
if cntPos >= div:
	print(1)
elif cntNeg >= div:
	print(-1)
else:
	print(0)


import sys
from math import ceil
input = sys.stdin.readline
n = int(input())
a = map(int, input().split())
countPos = 0
countNeg = 0
for i in a:
	if i > 0:
		countPos += 1
	if i < 0:
		countNeg += 1
if countPos >= ceil(n / 2):
	print(1)
elif countNeg >= ceil(n / 2):
	print(-1)
else:
	print(0)


n = int(input())
arr = map(int, input().split())
pos = 0
neg = 0
for item in arr:
	if item > 0:
		pos += 1
	elif item < 0:
		neg += 1
if pos >= (n + 1) // 2:
	print(1)
elif neg >= (n + 1) // 2:
	print(-1)
else:
	print(0)


n = int(input())
A = list(map(int, input().split()))
(cnt1, cnt2) = (0, 0)
for i in A:
	if i > 0:
		cnt1 += 1
	elif i < 0:
		cnt2 += 1
if cnt1 >= (n + 1) // 2:
	print(1)
elif cnt2 >= (n + 1) // 2:
	print(-1)
else:
	print(0)


n = int(input())
pos = 0
negs = 0
zz = input()
zz = zz.split(' ')
for x in zz:
	z = int(x)
	if z > 0:
		pos += 1
	if z < 0:
		negs += 1
mid = int(n / 2 + 0.5)
if pos >= mid:
	print(1)
elif negs >= mid:
	print(-1)
else:
	print(0)


n = int(input())
cl = list(map(int, input().split()))
a = 0
b = 0
for x in cl:
	if x > 0:
		a += 1
	if x < 0:
		b += 1
if n % 2 == 0:
	k = n // 2
else:
	k = n // 2 + 1
if a >= k:
	print(1)
elif b >= k:
	print(-1)
else:
	print(0)


n = int(input())
arr = list(map(int, input().split()))
np = 0
nz = 0
mp = 10000
for a in arr:
	if a == 0:
		nz += 1
	if a > 0:
		np += 1
		if a < mp:
			mp = a
nn = n - np - nz
if not n % 2 and np >= n // 2 or (n % 2 and np >= n // 2 + 1):
	print(1)
elif not n % 2 and nn < n // 2 or (n % 2 and nn < n // 2 + 1):
	print(0)
else:
	print(-1)


n = int(input())
l = list(map(int, input().split()))
cnt = 0
cntm = 0
for i in range(n):
	if l[i] > 0:
		cnt += 1
	elif l[i] != 0:
		cntm += 1
if cnt >= (n + 1) // 2:
	print(1)
elif cntm >= (n + 1) // 2:
	print(-1)
else:
	print(0)


import math
n = int(input())
l = list(map(int, input().split(' ')))
pc = 0
nc = 0
zc = 0
for i in l:
	if i == 0:
		zc += 1
	elif i > 0:
		pc += 1
	else:
		nc += 1
x = math.ceil(n / 2)
if pc >= x:
	print(1)
elif nc >= x:
	print(-1)
else:
	print(0)


n = int(input())
A = list(map(int, input().split()))
B = [a for a in A if a > 0]
C = [a for a in A if a < 0]
if len(B) >= (n + 1) // 2:
	print(1)
elif len(C) >= (n + 1) // 2:
	print(-1)
else:
	print(0)


import math
nn = int(input())
arr = list(map(int, input().split()))
p = 0
n = 0
z = 0
for i in arr:
	if i > 0:
		p += 1
	if i == 0:
		z += 1
	if i < 0:
		n += 1
if p >= math.ceil(nn / 2):
	print(1)
elif n >= math.ceil(nn / 2):
	print(-1)
else:
	print(0)


import math
n = int(input())
arr = list(map(int, input().strip().split()))
p = 0
z = 0
n = 0
for i in range(len(arr)):
	if arr[i] > 0:
		p += 1
	elif arr[i] == 0:
		z += 1
	else:
		n += 1
m = math.ceil(len(arr) / 2)
if p >= m:
	print(1)
elif n >= m:
	print(-1)
else:
	print(0)


import math

def A():
	n = int(input())
	a = [int(x) for x in input().split()]
	(pos, neg) = (0, 0)
	for i in a:
		if i > 0:
			pos += 1
		if i < 0:
			neg += 1
	if pos >= math.ceil(n / 2):
		print(1)
		return
	if neg >= math.ceil(n / 2):
		print(-1)
		return
	print(0)
A()


n = int(input())
a = [int(i) for i in input().split()]
x = 0
y = 0
z = 0
for i in range(n):
	if a[i] > 0:
		x += 1
	elif a[i] < 0:
		y += 1
	else:
		z += 1
if x >= n / 2:
	print(1)
elif y >= n / 2:
	print(-1)
else:
	print(0)


n = int(input())
arr = list(map(int, input().split()))
arr.sort()
k = n // 2 + 1 if n % 2 else n // 2
(a, b) = (0, 0)
arr2 = [-1 * i for i in arr][::-1]
for i in arr[n // 2:]:
	if i > 0:
		a += 1
for i in arr2[n // 2:]:
	if i > 0:
		b += 1
count = max(a, b)
if count >= k:
	if count == a:
		print(1)
	elif count == b:
		print(-1)
else:
	print(0)


import os
import sys
from io import BytesIO, IOBase
import math
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
n = int(input())
l = list(map(int, input().split()))
if n % 2 == 1:
	n = n // 2 + 1
else:
	n = n // 2
pg = 0
ng = 0
for i in range(len(l)):
	if l[i] < 0:
		ng += 1
	elif l[i] > 0:
		pg += 1
if pg >= n:
	print('1')
elif ng >= n:
	print('-1')
else:
	print('0')


n = int(input())
l = list(map(int, input().split()))
x = list(filter(lambda x: x > 0, l))
y = list(filter(lambda x: x < 0, l))
lx = len(x)
ly = len(y)
if n % 2 != 0:
	n += 1
if lx == ly == 0:
	print(0)
elif lx >= ly:
	if lx >= n // 2:
		print(1)
	else:
		print(0)
elif ly >= n // 2:
	print(-1)
else:
	print(0)


N = int(input())
l = map(int, input().split())
L = list(l)
pcount = 0
ncount = 0
for i in L:
	if i > 0:
		pcount = pcount + 1
	elif i < 0:
		ncount = ncount + 1
if pcount >= N / 2:
	print(1)
elif ncount >= N / 2:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
q = [i for i in a if i > 0]
w = [i for i in a if i < 0]
if len(q) >= (n + 1) // 2:
	print(1)
elif len(w) >= (n + 1) // 2:
	print(-1)
else:
	print(0)


import math
amount = int(input())
array = [int(s) for s in input().split()]
count_0 = 0
count_1 = 0
count_2 = 0
for i in range(len(array)):
	if array[i] > 0:
		count_1 += 1
	elif array[i] == 0:
		count_0 += 1
	else:
		count_2 += 1
if count_1 >= int(math.ceil(amount / 2)):
	print(1)
elif count_2 >= int(math.ceil(amount / 2)):
	print(-1)
else:
	print(0)


n = int(input())
L = [int(x) for x in input().split()]
p = len([x for (i, x) in enumerate(L) if x > 0])
m = len([x for (i, x) in enumerate(L) if x < 0])
if p >= (n + 1) // 2:
	print(1)
elif m >= (n + 1) // 2:
	print(-1)
else:
	print(0)


n = int(input())
a = [int(v) for v in input().split()]
(pos, neg, zero) = (0, 0, 0)
for v in a:
	if v > 0:
		pos += 1
	elif v < 0:
		neg += 1
	else:
		zero += 1
if pos >= n / 2:
	print(1)
elif neg >= n / 2:
	print(-1)
else:
	print(0)


R = lambda : map(int, input().split())
n = int(input())
L = list(R())
(p, ne) = (0, 0)
for i in L:
	if i > 0:
		p += 1
	elif i < 0:
		ne += 1
h = (n + 1) // 2
if p >= ne and p >= h:
	print(1)
elif p < ne and ne >= h:
	print(-1)
else:
	print(0)


n = int(input())
arr = list(map(int, input().split(' ')))
(p, ne) = (0, 0)
for i in arr:
	if i > 0:
		p += 1
	elif i < 0:
		ne += 1
r = (n + 1) // 2
if p >= r:
	print(1)
elif ne >= r:
	print(-1)
else:
	print(0)


n = int(input())
a = 0
b = 0
x = map(int, input().split())
for i in x:
	if i > 0:
		a += 1
	elif i < 0:
		b += 1
if a >= n / 2:
	print(1)
elif b >= n / 2:
	print(-1)
else:
	print(0)


from math import ceil

def be_positive(lst):
	(pos, neg) = (0, 0)
	m = ceil(len(lst) / 2)
	for elem in lst:
		if elem > 0:
			pos += 1
		if elem < 0:
			neg += 1
	if pos >= m:
		return 1
	elif neg >= m:
		return -1
	return 0
n = int(input())
a = [int(i) for i in input().split()]
print(be_positive(a))


n = int(input())
a = list(map(int, input().split()))
t = int((n + 1) / 2)
td = 0
ta = 0
for i in range(n):
	if a[i] > 0:
		td += 1
	elif a[i] < 0:
		ta += 1
if td >= t:
	print(1)
elif ta >= t:
	print(-1)
else:
	print(0)


n = int(input())
arr = list(map(int, input().split()))
(zeros, pos, neg) = (0, 0, 0)
for a in arr:
	if a > 0:
		pos += 1
	elif a < 0:
		neg += 1
	else:
		zeros += 1
min_pos = (n + 1) // 2
if pos >= min_pos:
	print(1)
elif neg >= min_pos:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
x = 0
y = 0
z = a.count(0)
for i in range(len(a)):
	if a[i] > 0:
		x += 1
	elif a[i] < 0:
		y += 1
if x >= z + y:
	print(1)
elif y >= x + z:
	print(-1)
else:
	print(0)


from collections import defaultdict, deque
n = int(input())
a = list(map(int, input().split()))
z = sum((x == 0 for x in a))
pos = sum((x > 0 for x in a))
neg = n - z - pos
half = (n + 1) // 2
if pos >= half:
	print(1)
elif neg >= half:
	print(-1)
else:
	print(0)


n = int(input())
nums = list(map(int, input().split()))
pos_count = 0
neg_count = 0
zero_count = 0
for i in nums:
	if i > 0:
		pos_count += 1
	elif i < 0:
		neg_count += 1
	else:
		zero_count += 1
if pos_count >= neg_count + zero_count:
	print(1)
elif min(pos_count, neg_count) + zero_count > n / 2:
	print(0)
else:
	print(-1)


import math, itertools, fractions, heapq, collections, bisect, sys, queue, copy
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
mod = 10 ** 9 + 7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return [int(x) for x in sys.stdin.readline().split()]

def I():
	return int(sys.stdin.readline())

def F():
	return float(sys.stdin.readline())

def LS():
	return sys.stdin.readline().split()

def S():
	return input()

def main():
	n = I()
	l = LI()
	n += 1
	n //= 2
	cnt = 0
	cnt2 = 0
	for x in l:
		if x > 0:
			cnt += 1
		if x < 0:
			cnt2 += 1
	if cnt >= n:
		return 1
	if cnt2 >= n:
		return -1
	return 0
print(main())


n = int(input())
arr = list(map(int, input().split()))
d = int((n + 1) / 2)
a = int(0)
b = int(0)
for i in range(0, n):
	if arr[i] > 0:
		a += 1
	if arr[i] < 0:
		b += 1
if a < d and b < d:
	print('0')
elif a >= d:
	print(1)
else:
	print(-1)


n = int(input())
import math
p = 0
q = 0
list = [int(i) for i in input().split()]
for i in range(n):
	if list[i] > 0:
		p += 1
	if list[i] < 0:
		q += 1
n = math.ceil(n / 2)
if p >= n:
	print('1')
elif q >= n:
	print('-1')
else:
	print('0')


n = int(input())
a = list(map(int, input().split()))
count1 = 0
count2 = 0
for i in range(len(a)):
	if a[i] > 0:
		count1 = count1 + 1
	elif a[i] < 0:
		count2 = count2 + 1
if n % 2 == 0:
	temp = n // 2
else:
	temp = n // 2 + 1
if count1 >= temp:
	print(1)
elif count2 >= temp:
	print(-1)
else:
	print(0)


while True:
	try:
		n = int(input())
	except:
		break
	pos = neg = 0
	thelist = list(map(int, input().split()))
	for i in thelist:
		if i > 0:
			pos += 1
		elif i < 0:
			neg += 1
	if 2 * pos >= n:
		print(1)
	elif 2 * neg >= n:
		print(-1)
	else:
		print(0)


import math
t = int(input())
l = list(map(int, input().split()))
p = [i for i in l if i > 0]
n = [i for i in l if i < 0]
z = t - len(p) - len(n)
d = math.ceil(t / 2)
if z > d:
	print(0)
elif len(p) >= d:
	print(1)
elif len(n) >= d:
	print(-1)
else:
	print(0)


b = int(input())
a = input().split()
p = 0
n = 0
for i in a:
	if int(i) > 0:
		p += 1
	elif int(i) < 0:
		n += 1
mi = len(a) / 2
if p >= mi:
	print(1)
elif n >= mi:
	print(-1)
else:
	print(0)


count = int(input())
A = str(input()).split(' ')
nums = 0
nums2 = 0
for i in A:
	if int(i) > 0:
		nums += 1
	if int(i) < 0:
		nums2 += 1
if nums >= count / 2:
	print('1')
elif nums2 >= count / 2:
	print('-1')
else:
	print('0')


n = int(input())
a = list(map(int, input().split()))
(p, o) = (0, 0)
for i in range(n):
	if a[i] < 0:
		o += 1
	elif a[i] > 0:
		p += 1
if p >= n / 2 or o >= n / 2:
	if p == o:
		print(1)
	else:
		print(1 * ((p - o) // abs(p - o)))
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
positiveCounter = 0
zeroCounter = 0
zeroCounter = a.count(0)
for i in a:
	if i > 0:
		positiveCounter += 1
negativeCounter = len(a) - zeroCounter - positiveCounter
if positiveCounter >= (len(a) + 1) // 2:
	print(1)
elif negativeCounter >= (len(a) + 1) // 2:
	print(-1)
else:
	print(0)


t = int(input())
a = map(int, input().split())
p = 0
n = 0
o = 0
for i in a:
	if i > 0:
		p += 1
	elif i < 0:
		n += 1
	else:
		o += 1
flag = 1
if t % 2 == 0:
	if p >= t // 2:
		print('1')
		flag = 0
	elif n >= t // 2:
		print('-1')
		flag = 0
elif p >= t // 2 + 1:
	print('1')
	flag = 0
elif n >= t // 2 + 1:
	print('-1')
	flag = 0
if flag == 1:
	print('0')


def countPositive(a):
	count = 0
	for i in a:
		if i > 0:
			count += 1
	return count

def countNeg(a):
	count = 0
	for i in a:
		if i < 0:
			count += 1
	return count
n = int(input())
if n % 2 == 0:
	c = n // 2
else:
	c = n // 2 + 1
lis = [int(i) for i in input().split()]
p = countPositive(lis)
n = countNeg(lis)
if p < c and n < c:
	print('0')
elif p < n:
	print('-1')
else:
	print('1')


n = int(input())
ln = input().split(' ')
k = (n + 1) // 2
pos = 0
neg = 0
for el in ln:
	if int(el) > 0:
		pos += 1
	elif int(el) < 0:
		neg += 1
if pos >= k:
	print(1)
elif neg >= k:
	print(-1)
else:
	print(0)


n = int(input())
a = [int(s) for s in input().split()]
pol = 0
neg = 0
nul = 0
for el in a:
	if el > 0:
		pol += 1
	elif el < 0:
		neg += 1
	else:
		nul += 1
polov = n // 2 + n % 2
d = 0
if pol >= polov:
	d = 1
elif neg >= polov:
	d = -1
print(d)


n = int(input())
a = list(map(int, input().split()))
if n % 2 == 0:
	m = n // 2
else:
	m = n // 2 + 1
ne = 0
po = 0
for t in a:
	if t > 0:
		po += 1
	elif t < 0:
		ne += 1
if po >= m:
	print(1)
elif ne >= m:
	print(-1)
else:
	print(0)


input()
n = [int(o) for o in input().split(' ')]
g = len(list(filter(lambda x: x > 0, n)))
h = len(list(filter(lambda x: x < 0, n)))
k = (len(n) + 1) // 2
if g >= k:
	print(1)
elif h >= k:
	print(-1)
else:
	print(0)


from sys import stdin, stdout
import math
N = int(input())
arr = [int(x) for x in stdin.readline().split()]
pos = 0
neg = 0
for i in range(N):
	if arr[i] > 0:
		pos += 1
	elif arr[i] < 0:
		neg += 1
half = N // 2
if N % 2 == 1:
	half += 1
if pos >= half:
	print(1)
	quit()
elif neg >= half:
	print(-1)
	quit()
else:
	print(0)
	quit()


import math

def BePositive(n, arr):
	cntPos = 0
	cntNeg = 0
	for a in arr:
		if a < 0:
			cntNeg += 1
		elif a > 0:
			cntPos += 1
	if cntPos >= math.ceil(n / 2):
		return 1
	elif cntNeg >= math.ceil(n / 2):
		return -1
	else:
		return 0
n = int(input())
arr = [int(x) for x in input().split()]
print(BePositive(n, arr))


from math import *
n = int(input())
xx = [j for j in map(int, input().split())]
plus = 0
minus = 0
for i in range(n):
	x = xx[i]
	if x > 0:
		plus += 1
	if x < 0:
		minus += 1
if plus >= ceil(n / 2):
	print(1)
elif minus >= ceil(n / 2):
	print(-1)
else:
	print(0)


n = int(input())
l = [int(x) for x in input().split()]
p = 0
n = 0
z = 0
for x in l:
	if x > 0:
		p += 1
	elif x < 0:
		n += 1
	else:
		z += 1
if p >= n + z:
	print(1)
elif n >= z + p:
	print(-1)
else:
	print(0)


n = int(input())
l = list(map(int, input().split()))
ln = len(l)
lp = []
for i in l:
	if i != 0:
		lp.append(-1 * i)
cp = 0
cn = 0
for i in lp:
	if i > 0:
		cp = cp + 1
for i in l:
	if i > 0:
		cn = cn + 1
if cn >= ln / 2:
	print(1)
elif cp >= ln / 2:
	print(-1)
else:
	print(0)


def solve(arr, n):
	req = 0
	if n % 2 == 1:
		req = n // 2 + 1
	else:
		req = n // 2
	mx = max(arr)
	count = 0
	count1 = 0
	for j in range(n):
		if arr[j] / 1 > 0:
			count += 1
		elif arr[j] / 1 < 0:
			count1 += 1
	if count >= req:
		return 1
	elif count1 >= req:
		return -1
	return 0
n = int(input())
arr = list(map(int, input().split()))
print(solve(arr, n))


from math import ceil
n = int(input())
zero = 0
pos = 0
num = list(map(int, input().split()))
for elem in num:
	if elem < 0:
		zero += 1
	elif elem > 0:
		pos += 1
val = ceil(n / 2)
if pos >= val:
	print(1)
elif zero >= val:
	print(-1)
else:
	print(0)


n = int(input())
l = list(map(int, input().split()))
po = 0
ne = 0
for i in l:
	if i > 0:
		po += 1
	elif i < 0:
		ne += 1
if max(po, ne) * 2 >= n:
	print(1 if max(po, ne) == po else -1)
else:
	print(0)


n = int(input())
a = [int(s) for s in input().split()]
plus = 0
minus = 0
nulls = 0
for elem in a:
	if elem > 0:
		plus += 1
	elif elem < 0:
		minus += 1
	else:
		nulls += 1
if plus >= n / 2:
	print(1)
elif minus >= n / 2:
	print(-1)
else:
	print(0)


(n, a) = (int(input()), list(map(int, input().split())))
if len(list(filter(lambda x: x > 0, a))) >= (n + 1) // 2:
	ans = 1
elif len(list(filter(lambda x: x < 0, a))) >= (n + 1) // 2:
	ans = -1
else:
	ans = 0
print(ans)


n = int(input())
l = list(map(int, input().split()))
t = l.count(0)
a = []
for i in range(n):
	if l[i] > 0:
		a.append(l[i])
b = len(a)
c = n - b - t
if b >= c + t:
	print('1')
elif c >= b + t:
	print('-1')
else:
	print('0')


import sys
n = int(sys.stdin.readline())
a = [int(tmp) for tmp in sys.stdin.readline().split()]
cp = 0
cn = 0
for ea in a:
	if ea < 0:
		cn += 1
	elif ea > 0:
		cp += 1
n2 = n / 2
if cp < n2 and cn < n2:
	print(0)
elif cp >= n2:
	print(1)
else:
	print(-1)


n = int(input())
plus = 0
minus = 0
kolvo = 0
for i in input().split(' '):
	if int(i) < 0:
		minus += 1
	elif int(i) > 0:
		plus += 1
	kolvo += 1
d = 0
if plus >= kolvo / 2:
	print(1)
elif minus >= kolvo / 2:
	print(-1)
else:
	print(0)


n = int(input())
numberList = [int(x) for x in input().split()]
if n % 2 == 0:
	half = n // 2
else:
	half = (n + 1) // 2
positiveCount = 0
negativeCount = 0
for x in numberList:
	if x > 0:
		positiveCount += 1
	elif x < 0:
		negativeCount += 1
if positiveCount >= half:
	print(1)
elif negativeCount >= half:
	print(-1)
else:
	print(0)


from math import sqrt
n = int(input())
a = [int(x) for x in input().split()]
p = 0
z = 0
ne = 0
for i in a:
	if i == 0:
		z += 1
	elif i > 0:
		p += 1
	else:
		ne += 1
if p >= ne + z:
	print(1)
elif ne >= p + z:
	print(-1)
else:
	print(0)


k = l = (int(input()) - 1) // 2
for x in map(int, input().split()):
	k -= x > 0
	l -= x < 0
print((0, 1, -1, 1)[(k < 0) + 2 * (l < 0)])


n = int(input())
a = list(map(int, input().split()))
poscount = 0
negcount = 0
for i in range(n):
	if a[i] > 0:
		poscount += 1
	elif a[i] < 0:
		negcount += 1
if poscount * 2 >= n:
	print(1)
elif negcount * 2 >= n:
	print(-1)
else:
	print(0)


import math
n = int(input())
a = list(map(int, input().split()))
number = math.ceil(n / 2)
nPositive = 0
nNegative = 0
for i in range(n):
	if a[i] > 0:
		nPositive += 1
	elif a[i] < 0:
		nNegative += 1
if nPositive >= number:
	print(1)
elif nNegative >= number:
	print(-1)
else:
	print(0)


import sys
input = sys.stdin.readline
n = int(input())
a = [int(i) for i in input().split()]
x = len([int(i) for i in a if i > 0])
y = len([int(i) for i in a if i < 0])
if x >= (n + 1) // 2:
	print(1)
elif y >= (n + 1) // 2:
	print(-1)
else:
	print(0)


n = int(input())
a = [int(i) for i in input().split()]
p = 0
z = 0
o = 0
if n % 2 == 0:
	v = n // 2
else:
	v = n // 2 + 1
for i in range(n):
	if a[i] > 0:
		p += 1
	elif a[i] == 0:
		z += 1
	else:
		o += 1
if p >= v:
	print(1)
elif o >= v:
	print(-1)
else:
	print(0)


N = int(input())
A = list(map(int, input().split()))
p = 0
n = 0
for x in A:
	if x > 0:
		p += 1
	elif x < 0:
		n += 1
if p >= (N + 1) // 2:
	print(1)
elif n >= (N + 1) // 2:
	print(-1)
else:
	print(0)


import math
n = int(input().strip())
a = list(map(int, input().strip().split()))
negative_count = 0
positive_count = 0
for i in a:
	if i > 0:
		positive_count += 1
	elif i < 0:
		negative_count += 1
n = math.ceil(n / 2)
if positive_count < n and negative_count < n:
	print(0)
elif positive_count >= n:
	print(1)
elif negative_count >= n:
	print(-1)


m = (int(input()) - 1) // 2
k = l = 0
for x in map(int, input().split()):
	k += x > 0
	l += x < 0
print(1 if k > m else -1 if l > m else 0)


n = int(input())
a = list(map(int, input().split()))
p = sum([1 for i in a if i > 0])
ng = sum([1 for i in a if i < 0])
if p >= n / 2:
	print(1)
elif ng >= n / 2:
	print(-1)
else:
	print(0)


def sol(l):
	(pos, neg, z) = (0, 0, 0)
	for i in l:
		if i > 0:
			pos += 1
		elif i == 0:
			z += 1
		else:
			neg += 1
	N = (len(l) - 1) // 2
	if pos > N:
		return 1
	elif neg > N:
		return -1
	else:
		return 0
N = int(input())
A = list(map(int, input().split()))
print(sol(A))


import math
k = int(input())
array = list(map(int, input().split()))
if len(list(filter(lambda x: x > 0, array))) >= math.ceil(k / 2):
	print(1)
elif len(list(filter(lambda x: x < 0, array))) >= math.ceil(k / 2):
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
shouldbe = (n + 1) // 2
(po, ne) = (0, 0)
for i in a:
	if i > 0:
		po += 1
	if i < 0:
		ne += 1
if po >= shouldbe:
	print(1)
elif ne >= shouldbe:
	print(-1)
else:
	print(0)


ans = []
n = int(input())
if n % 2 == 0:
	d = n // 2
else:
	d = n // 2 + 1
a = list(map(int, input().split()))
p = 0
n = 0
z = 0
for i in range(len(a)):
	if a[i] == 0:
		z += 1
	elif a[i] > 0:
		p += 1
	elif a[i] < 0:
		n += 1
if p >= d:
	print('1')
elif n >= d:
	print('-1')
else:
	print('0')


import sys
input = sys.stdin.readline
from collections import *
n = int(input())
a = list(map(int, input().split()))
goal = n // 2
if n & 1:
	goal += 1
pos = 0
neg = 0
for x in a:
	if x > 0:
		pos += 1
	if x < 0:
		neg += 1
if pos >= goal:
	print(1)
elif neg >= goal:
	print(-1)
else:
	print(0)


import math
n = int(input())
arr = list(map(int, input().split(' ')))
p_count = 0
n_count = 0
for elem in arr:
	if elem > 0:
		p_count += 1
	elif elem < 0:
		n_count += 1
if p_count < math.ceil(n / 2) and n_count < math.ceil(n / 2):
	print(0)
elif p_count >= math.ceil(n / 2):
	print(1)
elif n_count >= math.ceil(n / 2):
	print(-1)


n = int(input())
arr = [int(x) for x in input().split()]
(positive, negative, zero) = (0, 0, 0)
for ele in arr:
	if ele > 0:
		positive += 1
	elif ele < 0:
		negative += 1
	else:
		zero += 1
half = (n + 1) // 2
if positive >= half:
	print(1)
elif negative >= half:
	print(-1)
else:
	print(0)


input()
A = list(map(int, input().split()))
if len(A) % 2 == 0:
	d = len(A) // 2
else:
	d = len(A) // 2 + 1
(n, p) = (0, 0)
(minP, maxN) = (None, None)
for a in A:
	if a > 0:
		p += 1
		if not minP:
			minP = a
		else:
			minP = min(minP, a)
	if a < 0:
		n += 1
		if not maxN:
			maxN = a
		else:
			maxN = max(maxN, a)
if p >= d:
	print(1)
elif n >= d:
	print(-1)
else:
	print(0)


n = int(input())
A = list(map(int, input().split()))
ans = 0
ans2 = 0
for i in A:
	if i > 0:
		ans += 1
	if i < 0:
		ans2 += 1
if ans >= (n + 1) // 2:
	print(1)
elif ans2 >= (n + 1) // 2:
	print(-1)
else:
	print(0)


from math import ceil
n = int(input())
a = map(int, input().split())
d = ceil(n / 2)
pos = 0
neg = 0
for num in a:
	pos += num > 0
	neg += num < 0
if pos >= d:
	print('1')
elif neg >= d:
	print('-1')
else:
	print('0')


n = int(input())
a = list(map(int, input().split()))
y = n + 1 >> 1
(x, k) = (0, 0)
for i in a:
	if i > 0:
		x += 1
	elif i < 0:
		k += 1
if x >= y:
	print(1)
elif k >= y:
	print(-1)
else:
	print(0)


def divUp(a, b):
	d = a % b
	c = a // b
	if 2 * d >= b:
		return c + 1
	return c
n = int(input())
nc = 0
pc = 0
line = input().split(' ')
for i in range(n):
	a = int(line[i])
	if a > 0:
		pc += 1
	elif a < 0:
		nc += 1
count = divUp(n, 2)
if pc >= count:
	print(1)
elif nc >= count:
	print(-1)
else:
	print(0)


import math
n = int(input())
cp = 0
cn = 0
z = math.ceil(n / 2)
arr = list(map(int, input().split()))
for k in arr:
	if k > 0:
		cp += 1
	elif k < 0:
		cn += 1
if cp >= z:
	print(1)
elif cn >= z:
	print(-1)
else:
	print(0)


import math
N = int(input())
a = list(map(int, input().split()))
p = 0
z = 0
n = 0
for i in a:
	if i > 0:
		p += 1
	elif i < 0:
		n += 1
	else:
		z += 0
t = math.ceil(N / 2)
if p >= t:
	print(1)
elif n >= t:
	print(-1)
else:
	print(0)


n = int(input())
x = list(map(int, input().split()))
count_negative = 0
count_positive = 0
for number in x:
	if number < 0:
		count_negative += 1
	elif number > 0:
		count_positive += 1
if x.count(0) > n // 2:
	print(0)
elif n % 2 == 0:
	if count_positive >= n // 2:
		print(1)
	elif count_negative >= n // 2:
		print(-1)
	else:
		print(0)
elif n % 2 != 0:
	if count_positive > n // 2:
		print(1)
	elif count_negative > n // 2:
		print(-1)
	else:
		print(0)


import math
a = int(input())
l = list(map(int, input().split()))
(p, n) = (0, 0)
for x in range(a):
	if l[x] > 0:
		p += 1
	elif l[x] < 0:
		n += 1
if p >= math.ceil(a / 2):
	print(1)
elif n >= math.ceil(a / 2):
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
(z, x) = (0, 0)
for i in a:
	if i > 0:
		z += 1
	elif i < 0:
		x += 1
	else:
		pass
if z >= len(a) / 2:
	print(1)
elif x >= len(a) / 2:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
more_zero = len([x for x in a if x > 0])
less_zero = len([x for x in a if x < 0])
if more_zero >= n / 2:
	print(1)
elif less_zero >= n / 2:
	print(-1)
else:
	print(0)


a = int(input())
b = input().split()
b = list(b)
poz = 0
neg = 0
for x in b:
	x = int(x)
	if x > 0:
		poz += 1
	if x < 0:
		neg += 1
if poz >= a / 2:
	print(1)
elif neg >= a / 2:
	print(-1)
else:
	print(0)


n = int(input())
arr = [*map(int, input().split())]
arrlen = len(arr) / 2
if arrlen % 1 > 0:
	arrlen = len(arr) // 2 + 1
else:
	arrlen = len(arr) / 2
neg = []
pos = []
for i in arr:
	if i < 0:
		neg.append(i)
	if i > 0:
		pos.append(i)
if len(pos) >= arrlen and len(pos) >= len(neg):
	print(1)
elif len(neg) >= arrlen and len(neg) >= len(pos):
	print(-1)
else:
	print(0)


import os
import sys
from io import BytesIO, IOBase
from collections import Counter
import math as mt
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))

def gcd(a, b):
	if a == 0:
		return b
	return gcd(b % a, a)

def lcm(a, b):
	return a * b / gcd(a, b)
mod = int(1000000000.0) + 7

def power(k, n):
	if n == 0:
		return 1
	if n % 2:
		return power(k, n - 1) * k % mod
	t = power(k, n // 2)
	return t * t % mod

def totalPrimeFactors(n):
	count = 0
	if n % 2 == 0:
		count += 1
		while n % 2 == 0:
			n //= 2
	i = 3
	while i * i <= n:
		if n % i == 0:
			count += 1
			while n % i == 0:
				n //= i
		i += 2
	if n > 2:
		count += 1
	return count

def main():
	n = int(input())
	a = list(map(int, input().split()))
	c = 0
	c1 = 0
	for i in a:
		c += i > 0
		c1 += i < 0
	if c >= (n + 1) // 2:
		print(1)
	elif c1 >= (n + 1) // 2:
		print(-1)
	else:
		print(0)
	return
main()


import math
n = int(input())
count1 = 0
count2 = 0
inp = input()
lst = [int(ele) for ele in inp.split()]
for ele in lst:
	if ele > 0:
		count1 += 1
	elif ele < 0:
		count2 += 1
X = math.ceil(len(lst) / 2)
if count1 >= X:
	print(1)
elif count2 >= X:
	print(-1)
else:
	print(0)


n = int(input())
l = list(map(int, input().split()))
np = sum((1 for i in l if i > 0))
nn = sum((1 for i in l if i < 0))
if np < (n + 1) // 2:
	if nn >= (n + 1) // 2:
		print(-1)
	else:
		print(0)
else:
	print(1)


import sys
import math
import copy
import heapq
import bisect
import string
import functools
import itertools
import collections
n = int(sys.stdin.readline())
l = list(map(int, sys.stdin.readline().strip().split()))
(cp, cn, x) = (0, 0, int(math.ceil(n / 2.0)))
for i in l:
	if i > 0:
		cp = cp + 1
	elif i < 0:
		cn = cn + 1
if cp >= x:
	sys.stdout.write(str(1))
elif cn >= x:
	sys.stdout.write(str(-1))
else:
	sys.stdout.write(str(0))


n = int(input())
a = list(map(int, input().split()))
neg = 0
zer = 0
poz = 0
for num in a:
	if num == 0:
		zer += 1
	elif num < 0:
		neg += 1
	else:
		poz += 1
ans = 1
if poz < neg:
	poz = neg
	ans = -1
if poz * 2 >= n:
	print(ans)
else:
	print(0)


t = 0
t1 = 0
k = 0
x = int(input())
a = list(map(int, input().split()))
if x == 1 and a[0] > 0:
	print(1)
elif x == 1 and a[0] < 0:
	print(-1)
elif x == 1 and a[0] == 0:
	print(0)
else:
	for i in range(len(a)):
		if a[i] < 0:
			t = t + 1
		if a[i] > 0:
			t1 = t1 + 1
	if a.count(0) <= int(x / 2):
		if x % 2 == 1:
			if t >= int(x / 2) + 1:
				print(-1)
				k = 1
			elif t1 >= int(x / 2) + 1:
				print(1)
				k = 1
		if x % 2 == 0:
			if t1 >= int(x / 2):
				print(1)
				k = 1
			elif t >= int(x / 2):
				print(-1)
				k = 1
	if k == 0:
		print(0)


import math
import os
import random
import re
import sys
n = int(input())
l = list(map(int, input().split()))
(a, b) = (0, 0)
for i in l:
	if i > 0:
		a += 1
	elif i < 0:
		b += 1
t = (n + 1) // 2
if a >= t:
	print(1)
elif b >= t:
	print(-1)
else:
	print(0)


import math
n = int(input())
a = [int(i) for i in input().split()]
a1 = [j for j in a]
a2 = [k * -1 for k in a]

def counter(a):
	c = 0
	for i1 in a:
		if i1 > 0:
			c += 1
	return c
c1 = counter(a1)
c2 = counter(a2)
if c1 >= math.ceil(n / 2):
	print(1)
elif c2 >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


n = int(input())
l = list(map(int, input().split()))
x = [[i] for i in l if i > 0]
y = [i for i in l if i < 0]
xl = len(x)
yl = len(y)
p = len(l)
if p % 2 == 0:
	if xl >= yl and xl >= len(l) // 2:
		print(1)
	elif yl >= xl and yl >= len(l) // 2:
		print(-1)
	else:
		print(0)
elif xl > yl and xl > len(l) // 2:
	print(1)
elif yl >= xl and yl > len(l) // 2:
	print(-1)
else:
	print(0)


from math import ceil

def arr_scan():
	return list(map(int, input().split(' ')))
n = arr_scan()[0]
arr = sorted(arr_scan())
diff = ceil(n / 2)
zeros = pos = neg = 0
for num in arr:
	if num == 0:
		zeros += 1
	elif num > 0:
		pos += 1
	else:
		neg += 1
if pos >= diff:
	print(1)
elif neg >= diff:
	print(-1)
else:
	print(0)


import math as m
n = int(input())
a = [int(e) for e in input().split()]
p = 0
np = 0
for i in a:
	if i > 0:
		p += 1
	elif i < 0:
		np += 1
if n % 2 != 0:
	x = n // 2 + 1
else:
	x = n // 2
if p >= x:
	print('1')
elif np >= x:
	print('-1')
else:
	print('0')


import os
import sys
from io import BytesIO, IOBase
from collections import defaultdict, deque, Counter, OrderedDict
import threading

def main():
	n = int(input())
	a = [*map(int, input().split())]
	if n % 2:
		k = n // 2 + 1
	else:
		k = n // 2
	ans1 = 0
	ans2 = 0
	for i in range(n):
		if a[i] > 0:
			ans1 += 1
		if a[i] < 0:
			ans2 += 1
	if ans1 >= k:
		print(1)
	elif ans2 >= k:
		print(-1)
	else:
		print(0)
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


import math
n = int(input())
a = list(map(int, input().split()))
p = np = 0
for i in a:
	if i > 0:
		p += 1
	elif i < 0:
		np += 1
if p >= math.ceil(n / 2):
	print(1)
elif np >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


first = int(input())
second = str(input())
second = second.split(' ')
hohos = len(second) / 2
pocount = 0
necount = 0
zecount = 0
for i in second:
	i = int(i)
	if i > 0:
		pocount += 1
	elif i == 0:
		zecount += 1
	else:
		necount += 1
if pocount >= hohos:
	print(1)
elif necount >= hohos:
	print(-1)
else:
	print(0)


import math
n = int(input())
l = list(map(int, input().split()))
c = 0
d = 0
if l.count(0) > n // 2:
	print(0)
else:
	for i in l:
		if i > 0:
			c += 1
		elif i < 0:
			d = d + 1
	if c >= math.ceil(n / 2):
		print(1)
	elif d >= math.ceil(n / 2):
		print(-1)
	else:
		print(0)


from math import ceil as c
n = int(input())
a = list(map(int, input().split()))
x = c(n / 2)
cp = 0
cn = 0
for i in range(n):
	if a[i] > 0:
		cp += 1
	elif a[i] < 0:
		cn += 1
if cp >= x:
	print(1)
elif cn >= x:
	print(-1)
else:
	print(0)


from math import ceil
n = int(input())
string = str(input())
lst = string.split()
positives = 0
negatives = 0
for each in lst:
	if int(each) > 0:
		positives += 1
	elif int(each) < 0:
		negatives += 1
if positives >= ceil(n / 2):
	print(1)
elif negatives >= ceil(n / 2):
	print(-1)
else:
	print(0)


n = int(input())
ar = [int(x) for x in input().split()]
zc = 0
pc = 0
nc = 0
for v in ar:
	if v == 0:
		zc += 1
	elif v > 0:
		pc += 1
	else:
		nc += 1
if pc >= (n + 1) // 2:
	print(1)
elif nc >= (n + 1) // 2:
	print(-1)
else:
	print(0)


from math import ceil
n = int(input())
a = list(map(int, input().split()))
pos = 0
neg = 0
for i in a:
	if i > 0:
		pos += 1
	elif i < 0:
		neg += 1
ans = 0
if pos >= ceil(n / 2):
	ans = 1
elif neg >= ceil(n / 2):
	ans = -1
print(ans)


import math
n = int(input())
l = [int(num) for num in input().split()]
l.sort()
c = 0
for i in range(n):
	if l[i] < 0:
		c = c + 1
	else:
		break
p = l.count(0)
if c > n - c - p and c >= math.ceil(n / 2):
	print('-1')
elif n - c - p >= c and n - c - p >= math.ceil(n / 2):
	print('1')
else:
	print('0')


n = int(input())
b = [int(b) for b in input().split()]
if n % 2 == 0:
	s = int(len(b) / 2)
else:
	s = int(len(b) / 2 + 1)
count = 0
count1 = 0
for i in range(0, n):
	if b[i] > 0:
		count += 1
	elif b[i] < 0:
		count1 += 1
if count >= s:
	print('1')
elif count1 >= s:
	print('-1')
else:
	print('0')


from math import ceil
n = input()
lst = list(map(int, input().split(' ')))
half = ceil(len(lst) / 2)
poss = 0
mins = 0
for n in lst:
	if n > 0:
		poss += 1
	elif n < 0:
		mins += 1
if poss >= half:
	print(1)
	exit(0)
if mins >= half:
	print(-1)
	exit(0)
print(0)


n = int(input())
a = [*map(int, input().split())]
m = n
n = int(n / 2) + 1 if n % 2 == 1 else int(n / 2)
ans1 = ans2 = 0
for i in range(m):
	if a[i] > 0:
		ans1 += 1
	if a[i] < 0:
		ans2 += 1
if ans1 >= n or ans2 >= n:
	if ans1 >= ans2:
		print(1)
	else:
		print(-1)
else:
	print(0)


import math
n = int(input())
arr = map(int, input().split())
ceiling = math.ceil(n / 2)
pos = neg = zero = 0
for num in arr:
	if num > 0:
		pos += 1
	elif num < 0:
		neg += 1
	else:
		zero += 1
if pos < ceiling and neg < ceiling:
	print(0)
elif pos >= ceiling:
	print(1)
elif neg >= ceiling:
	print(-1)


n = int(input())
l = list(map(int, input().split()))
positive = 0
negative = 0
neutral = 0
for x in l:
	if x > 0:
		positive += 1
	elif x < 0:
		negative += 1
	else:
		neutral += 1
enough = n / 2
if positive >= enough:
	print(1)
elif negative >= enough:
	print(-1)
else:
	print(0)


k = int(input())
a = [int(i) for i in input().split()]
(p, n) = (0, 0)
for i in a:
	if i > 0:
		p += 1
	elif i < 0:
		n += 1
if k % 2 == 0:
	if p >= k // 2:
		print(1)
	elif n >= k // 2:
		print(-1)
	else:
		print(0)
elif p > k // 2:
	print(1)
elif n > k // 2:
	print(-1)
else:
	print(0)


from math import ceil

def answer(arr):
	pos = 0
	neg = 0
	n = ceil(len(arr) / 2)
	for i in arr:
		if i > 0:
			pos += 1
		elif i < 0:
			neg += 1
	if pos >= n:
		return 1
	if neg >= n:
		return -1
	return 0
n = int(input())
arr = list(map(int, input().split()))
print(answer(arr))


import math
x = int(input())
array = list(map(int, input().split(' ')))
zero_count = array.count(0)
(pos, neg) = (0, 0)
for i in array:
	if i > 0:
		pos += 1
	if i < 0:
		neg += 1
mid = math.ceil(x / 2)
if pos >= mid:
	print('1')
elif neg >= mid:
	print('-1')
else:
	print('0')


import math

def main():
	n = int(input())
	arr = list(map(int, input().split()))
	pos = 0
	neg = 0
	zero = 0
	for i in arr:
		if i > 0:
			pos += 1
		elif i < 0:
			neg += 1
		else:
			zero += 1
	if pos >= math.ceil(n / 2):
		print(1)
	elif neg >= math.ceil(n / 2):
		print(-1)
	else:
		print(0)
main()


n = int(input().strip())
arr = list(map(int, input().strip().split()))
(num_zero, num_pos, num_neg) = (0, 0, 0)
for e in arr:
	if e == 0:
		num_zero += 1
	elif e > 0:
		num_pos += 1
	else:
		num_neg += 1
d = 1
if num_neg > num_pos:
	d = -1
if abs(num_neg - num_pos) >= num_zero:
	print(d)
else:
	print(0)


sz = int(input())
a = map(int, input().split())
p = n = 0
for x in a:
	if x > 0:
		p += 1
	if x < 0:
		n += 1
if p >= (sz + 1) // 2:
	print(1)
elif n >= (sz + 1) // 2:
	print(-1)
else:
	print(0)


from collections import defaultdict as dd
import math

def nn():
	return int(input())

def li():
	return list(input())

def mi():
	return map(int, input().split())

def lm():
	return list(map(int, input().split()))
n = nn()
l = lm()
pcount = 0
zcount = 0
ncount = 0
for i in l:
	if i > 0:
		pcount += 1
	if i < 0:
		ncount += 1
	if i == 0:
		zcount += 1
if pcount >= math.ceil(n / 2):
	print(1)
elif ncount >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


n = int(input())
d = list(map(int, input().split()))
n2 = int(n / 2 + 0.5)
dp = list(filter(lambda e: e > 0, d))
dm = list(filter(lambda e: e < 0, d))
if len(dp) >= n2:
	print(1)
elif len(dm) >= n2:
	print(-1)
else:
	print(0)


def main():
	n = int(input())
	a = [int(i) for i in input().split()]
	if n % 2 == 0:
		x = n // 2
	else:
		x = n // 2 + 1
	p = ne = z = 0
	for item in a:
		if item > 0:
			p += 1
		elif item < 0:
			ne += 1
	if p >= x:
		ans = 1
	elif ne >= x:
		ans = -1
	else:
		ans = 0
	print(ans)
main()


n = int(input())
a = list(map(int, input().split()))
pos = sum((x > 0 for x in a))
neg = sum((x < 0 for x in a))
needed = (n + 1) // 2
if pos >= needed:
	print('1')
elif neg >= needed:
	print('-1')
else:
	print(0)


n = int(input())
a = [int(i) for i in input().split()]
p = 0
m = 0
l = len(a)
for i in a:
	if i > 0:
		p += 1
	if i < 0:
		m += 1
if p * 2 >= l:
	print(1)
elif m * 2 >= l:
	print(-1)
else:
	print(0)


import math
a = int(input())
b = input().split()
(c, d) = (0, 0)
for i in range(a):
	if int(b[i]) > 0:
		c += 1
	if int(b[i]) < 0:
		d += 1
if c >= math.ceil(a / 2):
	print(1)
elif d >= math.ceil(a / 2):
	print(-1)
else:
	print(0)


tol = int(input())
list = [int(i) for i in input().split()]
pos = sum((i > 0 for i in list))
neg = sum((i < 0 for i in list))
if pos * 2 >= tol:
	print(1)
elif neg * 2 >= tol:
	print(-1)
else:
	print(0)


import math
n = int(input())
a = [int(x) for x in input().split()]
co1 = co2 = co3 = 0
for item in a:
	if item > 0:
		co1 += 1
	elif item < 0:
		co2 += 1
	else:
		co3 += 1
if co1 >= math.ceil(n / 2):
	print(1)
elif co2 >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
ng = sum([1 for x in a if x < 0])
ps = sum([1 for x in a if x > 0])
if ps >= n // 2 + n % 2:
	print(1)
elif ng >= n // 2 + n % 2:
	print(-1)
else:
	print(0)


import math

def isAnswer(arr, x, d):
	cnt = 0
	for ele in arr:
		if ele / d > 0:
			cnt += 1
	return cnt >= x

def func(arr, n):
	x = math.ceil(n / 2)
	pos = 0
	neg = 0
	zeros = 0
	for ele in arr:
		if ele > 0:
			pos += 1
		elif ele < 0:
			neg += 1
		else:
			zeros += 1
	if pos >= neg:
		d = 1
		while d <= 1000:
			if isAnswer(arr, x, d):
				return d
			d += 1
		return 0
	elif pos <= neg:
		d = -1
		while d >= -1000:
			if isAnswer(arr, x, d):
				return d
			d -= 1
		return 0
	elif pos == neg:
		return 0
n = int(input())
arr = list(map(int, input().split()))
print(func(arr, n))


from math import ceil
n = int(input())
m = list(map(int, input().split()))
pos = sum((x > 0 for x in m))
neg = sum((x < 0 for x in m))
n = ceil(n / 2)
if pos >= n:
	print(1)
elif neg >= n:
	print(-1)
else:
	print(0)


n = int(input())
l = list(map(int, input().split()))
(f, g) = (0, 0)
for i in range(n):
	if l[i] > 0:
		f = f + 1
for i in range(n):
	if l[i] < 0:
		g = g + 1
if f >= round(n / 2 + 0.1):
	print(1)
elif g >= round(n / 2 + 0.1):
	print(-1)
else:
	print(0)


k = int(input())
arr = list(map(int, input().split()))
p = 0
z = 0
n = 0
for i in arr:
	if i > 0:
		p += 1
	elif i == 0:
		z += 1
	else:
		n += 1
if p >= k / 2:
	print(1)
elif n >= k / 2:
	print(-1)
else:
	print(0)


numOfIntegers = int(input())
inputIntegers = map(int, input().split(' '))
numPositives = 0
numNegatives = 0
for x in inputIntegers:
	if x > 0:
		numPositives += 1
	elif x < 0:
		numNegatives += 1
if numPositives >= numOfIntegers / 2:
	print('1')
elif numNegatives >= numOfIntegers / 2:
	print('-1')
else:
	print('0')


n = int(input())
dat = list(map(int, input().split()))
(p, z, neg) = (0, 0, 0)
for i in range(len(dat)):
	if dat[i] == 0:
		z += 1
	elif dat[i] > 0:
		p += 1
	else:
		neg += 1
import math
t = math.ceil(n / 2)
if p >= t:
	print('1')
elif neg >= t:
	print('-1')
else:
	print(0)


__author__ = 'NIORLYS'
n = int(input())
a = list(map(int, input().split()))
count_pos = count_neg = 0
for i in range(n):
	if a[i] > 0:
		count_pos += 1
	elif a[i] < 0:
		count_neg += 1
if n % 2 == 0:
	if count_pos >= n // 2:
		print(1)
	elif count_neg >= n // 2:
		print(-1)
	else:
		print(0)
elif count_pos >= n // 2 + 1:
	print(1)
elif count_neg >= n // 2 + 1:
	print(-1)
else:
	print(0)


n = int(input())
a = [int(s) for s in input().split(' ')]
if len([x for x in a if x > 0]) >= n / 2:
	print(1)
elif len([x for x in a if x < 0]) >= n / 2:
	print(-1)
else:
	print(0)


input()
xs = [int(x) for x in input().split(' ')]
if sum((x > 0 for x in xs)) >= len(xs) / 2:
	print(1)
elif sum((x < 0 for x in xs)) >= len(xs) / 2:
	print(-1)
else:
	print(0)


def f(count, arr):
	plus = 0
	neg = 0
	zero = 0
	for a in arr:
		if a > 0:
			plus += 1
		elif a < 0:
			neg += 1
		else:
			zero += 1
	if plus >= count / 2:
		return 1
	elif neg >= count / 2:
		return -1
	else:
		return 0
n = int(input())
arr = [*map(int, input().split())]
print(f(n, arr))


from math import ceil as c
n = int(input())
l = list(map(int, input().split()))
k1 = l.count(0)
k = [i for i in range(n) if l[i] > 0]
if len(k) >= c(n / 2):
	print(1)
elif len(k) + k1 <= n // 2:
	print(-1)
else:
	print(0)


from math import floor
n = int(input())
a = list(map(int, input().split()))
pos = len(list([i for i in a if i > 0]))
neg = len(list([i for i in a if i < 0]))
need = 0
if n % 2 == 0:
	need = n // 2
else:
	need = floor(n / 2) + 1
if pos >= need:
	print(1)
elif neg >= need:
	print(-1)
else:
	print(0)


import math
a = int(input())
v = 0
s = 0
t = 0
b = list(map(int, input().split()))
for i in b:
	if i > 0:
		v = v + 1
	if i == 0:
		s = s + 1
	if i < 0:
		t += 1
h = int(math.ceil(a / 2))
if v >= h:
	print(1)
elif t >= h:
	print(-1)
else:
	print(0)


import math
n = int(input())
l = list(map(int, input().split()))
need = math.ceil(n / 2)
zeroes = 0
neg = 0
pos = 0
for i in l:
	if i == 0:
		zeroes += 1
	elif i < 0:
		neg += 1
	else:
		pos += 1
if pos >= need:
	print(1)
elif neg >= need:
	print(-1)
else:
	print(0)


import math
x = int(input())
y = input().split()
y = [int(I) for I in y]
comp = math.ceil(x / 2)
zeros = 0
pos = 0
neg = 0
for i in y:
	if i == 0:
		zeros += 1
	elif i > 0:
		pos += 1
	elif i < 0:
		neg += 1
if pos >= comp:
	print(1)
elif comp <= neg:
	print(-1)
elif comp <= zeros:
	print(0)
else:
	print(0)


N = int(input())
arr = [int(x) for x in input().split()]
pos = 0
neg = 0
for i in range(N):
	if arr[i] > 0:
		pos += 1
	elif arr[i] < 0:
		neg += 1
if 2 * pos >= N:
	print(1)
elif 2 * neg >= N:
	print(-1)
else:
	print(0)


import math
n = int(input())
a = list(map(int, input().split()))
nb = 0
na = 0
for i in a:
	if i > 0:
		nb += 1
	elif i < 0:
		na += 1
if nb >= math.ceil(n / 2):
	print(1)
elif na >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


def solve():
	count = int(input())
	num = [int(x) for x in input().split()]
	p = 0
	n = 0
	for x in num:
		if x > 0:
			p += 1
		elif x < 0:
			n += 1
	mid = (count + 1) // 2
	if p >= mid:
		print(1)
	elif n >= mid:
		print(-1)
	else:
		print(0)
solve()


def compute(n, a):
	po = len(list(filter(lambda _: _ > 0, a)))
	ne = len(list(filter(lambda _: _ < 0, a)))
	return 1 if po >= n / 2 else -1 if ne >= n / 2 else 0
from sys import stdin
[n] = list(map(int, stdin.readline().split()))
a = list(map(int, stdin.readline().split()))
print(compute(n, a))


import math
n = int(input())
a = [int(i) for i in input().split()]
e = 0
f = 0
for i in range(0, len(a)):
	if a[i] > 0:
		e = e + 1
	elif a[i] < 0:
		f = f + 1
if e < math.ceil(n / 2) and f < math.ceil(n / 2):
	print(0)
elif e >= f:
	print(1)
else:
	print(-1)


n = int(input())
arr = list(map(int, input().split()))
i = 0
a = 0
b = 0
c = 0
for i in range(n):
	if arr[i] > 0:
		a += 1
	elif arr[i] < 0:
		b += 1
	else:
		c += 1
if n % 2 != 0:
	q = n // 2 + 1
else:
	q = n // 2
if a >= q:
	print(1)
elif b >= q:
	print(-1)
else:
	print(0)


n = int(input())
ls = list(map(int, input().split()))
d = 0
pos = sum((1 for i in ls if i > 0))
neg = sum((1 for i in ls if i < 0))
num = 0
if n % 2 == 0:
	num = n // 2
else:
	num = n // 2 + 1
if pos >= num:
	print(1)
elif neg >= num:
	print(-1)
else:
	print(0)


from math import ceil

def solve():
	p = len([i for i in a if i > 0])
	z = sum((1 for i in a if i == 0))
	if p >= ceil(len(a) / 2):
		return 1
	elif len(a) - p - z >= ceil(len(a) / 2):
		return -1
	else:
		return 0

def main():
	global n, a
	n = int(input())
	a = list(map(int, input().split()))
	print(solve())
main()


n = int(input())
A = [int(i) for i in input().split()]
cnt_p = 0
cnt_m = 0
for a in A:
	if a > 0:
		cnt_p += 1
	elif a < 0:
		cnt_m += 1
if cnt_p >= (n + 1) // 2:
	print(1)
elif cnt_m >= (n + 1) // 2:
	print(-1)
else:
	print(0)


x = int(input())
l = list(map(int, input().split()))
p = list(filter(lambda x: x > 0, l))
q = list(filter(lambda x: x < 0, l))
if x % 2 == 0:
	c = x // 2
else:
	c = x // 2 + 1
if len(p) >= c:
	print(1)
elif len(q) >= c:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
(b, c, d) = ([], [], [])
for i in a:
	if i > 0:
		b.append(i)
	elif i < 0:
		c.append(i)
	else:
		d.append(i)
maxe = max(len(b), len(c), len(d))
if len(b) >= len(c) + len(d):
	print(1)
elif len(c) >= len(b) + len(d):
	print(-1)
else:
	print(0)


n = int(input())
l = list(map(int, input().split()))
(x, y, z) = (0, 0, 0)
for i in range(n):
	if l[i] > 0:
		x = x + 1
	elif l[i] < 0:
		y += 1
	else:
		z = z + 1
k = n // 2 + n % 2
if x >= k:
	print(1)
elif y >= k:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
pc = nc = 0
for i in a:
	if i > 0:
		pc += 1
	elif i < 0:
		nc += 1
import math
if pc >= math.ceil(n / 2):
	print(1)
elif nc >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


import sys
inf = float('inf')
mod = 1000000007

def get_array():
	return list(map(int, sys.stdin.readline().split()))

def get_ints():
	return map(int, sys.stdin.readline().split())

def input():
	return sys.stdin.readline()

def main():
	n = int(input())
	arr = get_array()
	(p, ne) = (0, 0)
	for i in arr:
		if i > 0:
			p += 1
		elif i < 0:
			ne += 1
	from math import ceil
	x = ceil(n / 2)
	if p < x and ne < x:
		print(0)
	elif p >= x:
		print(1)
	else:
		print(-1)
main()


import math
n = int(input())
list_1 = [int(i) for i in input().split()]
a = len([i for i in list_1 if i > 0])
b = len([i for i in list_1 if i < 0])
if a >= math.ceil(n / 2):
	print(1)
elif b >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


import math
n = int(input())
values = list(map(int, input().split()))
minimum = math.ceil(n / 2)
numOfZeros = 0
numOfPos = 0
numOfNeg = 0
for i in range(0, n):
	if values[i] == 0:
		numOfZeros += 1
	elif values[i] > 0:
		numOfPos += 1
	else:
		numOfNeg += 1
if numOfPos >= minimum:
	print('1')
elif numOfNeg >= minimum:
	print('-1')
else:
	print('0')


def main():
	from math import ceil
	n = int(input())
	numbers = [int(_) for _ in input().split()]
	needed = ceil(n / 2)
	count_positive = 0
	count_negative = 0
	for x in numbers:
		if x > 0:
			count_positive += 1
		elif x < 0:
			count_negative += 1
	print(1 if count_positive >= needed else -1 if count_negative >= needed else 0)
main()


n = int(input())
ln = [int(i) for i in input().split(' ')]
c = [0, 0]
for i in range(0, len(ln)):
	if ln[i] > 0:
		c[0] += 1
	if ln[i] < 0:
		c[1] += 1
if c[0] >= n / 2:
	print(1)
elif c[1] >= n / 2:
	print(-1)
else:
	print(0)


from math import ceil

def go():
	n = int(input())
	a = [int(i) for i in input().split(' ')]
	pos = neg = zero = 0
	for i in range(n):
		if a[i] > 0:
			pos += 1
		elif a[i] < 0:
			neg += 1
		else:
			zero += 1
	if pos >= ceil(n / 2):
		return 1
	if neg >= ceil(n / 2):
		return -1
	return 0
print(go())


n = int(input())
a = list(map(int, input().split()))
p = 0
o = 0
for e in a:
	if e > 0:
		p += 1
	elif e < 0:
		o += 1
if p >= n / 2:
	print(1)
elif o >= n / 2:
	print(-1)
else:
	print(0)


import math
n = int(input())
l = list(map(int, input().split()))
s = 0
x = 0
for i in l:
	if i > 0:
		s += 1
	elif i < 0:
		x += 1
if s >= math.ceil(n / 2):
	print(1)
elif x >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
(k1, k2) = (0, 0)
for x in a:
	if x < 0:
		k1 += 1
	elif x > 0:
		k2 += 1
if k2 > (n - 1) // 2:
	print(1)
elif k1 > (n - 1) // 2:
	print(-1)
else:
	print(0)


import math
n = int(input())
x = input().split()
y = []
for i in x:
	y.append(int(i))
cp = 0
cm = 0
for k in y:
	if k / 1 > 0:
		cp += 1
	if k / 1 < 0:
		cm += 1
r = math.ceil(n / 2)
if cp >= r:
	print(1)
elif cm >= r:
	print(-1)
elif not cp >= r and (not cm >= r):
	print(0)


import sys
import math

def count_p(l):
	length = len(l)
	cnt = 0
	m_cnt = 0
	for x in l:
		if x > 0:
			cnt += 1
		if x < 0:
			m_cnt += 1
	if cnt >= math.ceil(length / 2.0):
		return 1
	elif m_cnt >= math.ceil(length / 2.0):
		return -1
	else:
		return 0
first = True
for line in sys.stdin:
	if first:
		first = False
		continue
	l = line.strip().split(' ')
	l = [int(x) for x in l]
	ret = count_p(l)
	print(ret)
	break


(nn, ls, p, n) = (int(input()), list(map(int, input().split())), 0, 0)
for l in ls:
	if l > 0:
		p += 1
	elif l < 0:
		n += 1
if p >= nn // 2 + nn % 2:
	print(1)
elif n >= nn // 2 + nn % 2:
	print(-1)
else:
	print(0)


import math
n = int(input())
a = list(map(int, input().split()))
npos = 0
nneg = 0
for i in range(n):
	if a[i] > 0:
		npos += 1
	if a[i] < 0:
		nneg += 1
m = math.ceil(n / 2)
if npos >= m:
	print(1)
elif nneg >= m:
	print(-1)
else:
	print(0)


n = (int(input()) - 1) // 2
pos = minus = 0
for i in map(int, input().split()):
	pos += i > 0
	minus += i < 0
print(1 if pos > n else -1 if minus > n else 0)


import math
n = int(input())
L = list(map(int, input().split()))
P = 0
N = 0
mr = math.ceil(n / 2)
for i in L:
	if i > 0:
		P += 1
	elif i < 0:
		N += 1
if P >= mr:
	print('1')
elif N >= mr:
	print('-1')
else:
	print('0')


N = int(input())
A = [int(a) for a in input().split()]
pos = 0
neg = 0
for a in A:
	if a > 0:
		pos += 1
	elif a < 0:
		neg += 1
if pos >= (N + 1) // 2:
	print(1)
elif neg >= (N + 1) // 2:
	print(-1)
else:
	print(0)


import math
n = int(math.ceil(int(input()) / 2))
a = list(map(int, input().split(' ')))
neg_count = 0
pos_count = 0
for i in a:
	if i > 0:
		pos_count += 1
	if i < 0:
		neg_count += 1
if pos_count >= n:
	print(1)
elif neg_count >= n:
	print(-1)
else:
	print(0)


size = input()
str_in = input()
num = [int(n) for n in str_in.split()]
count = 0
count2 = 0
for i in range(int(size)):
	if num[i] > 0:
		count = count + 1
	elif num[i] < 0:
		count2 = count2 + 1
if count >= count2:
	if count < int(size) / 2:
		print(0)
	else:
		print(1)
elif count2 < int(size) / 2:
	print(0)
else:
	print(-1)


import math
count = int(input())
arr = [int(x) for x in str(input()).split(' ')]
c_pos = 0
c_neg = 0
c_zeros = 0
for num in arr:
	if num > 0:
		c_pos = c_pos + 1
	elif num < 0:
		c_neg = c_neg + 1
	else:
		c_zeros = c_zeros + 1
x = math.ceil(count / 2)
if c_pos >= x:
	print(1)
elif c_neg >= x:
	print(-1)
else:
	print(0)


n = int(input())
arr = list(map(int, input().split()))
pos = sum((1 for i in arr if i > 0))
neg = sum((1 for i in arr if i < 0))
md = (n + 1) // 2
if pos >= md:
	print(1)
elif neg >= md:
	print(-1)
else:
	print(0)


n = int(input())
import math
cnt1 = 0
cnt2 = 0
ar = list(map(int, input().split()))
for i in ar:
	if i > 0:
		cnt1 += 1
	elif i < 0:
		cnt2 += 1
if cnt1 >= math.ceil(n / 2):
	print(1)
elif cnt2 >= math.ceil(n / 2):
	print(-1)
else:
	print(0)


n = int(input())
a = [int(t) for t in input().split(' ')]
plus = len([t for t in a if t > 0])
minus = len([t for t in a if t < 0])
if plus >= n // 2 + n % 2:
	print(1)
elif minus >= n // 2 + n % 2:
	print(-1)
else:
	print(0)


import math
n = int(input())
arr = list(map(int, input().split()))
x = math.ceil(len(arr) / 2)
cnt1 = cnt2 = 0
for i in arr:
	cnt1 += i > 0
	cnt2 += i < 0
if cnt1 >= x:
	print(1)
elif cnt2 >= x:
	print(-1)
else:
	print(0)


n = int(input())
l = list(map(int, input().split()))
q = 0
w = 0
e = 0
for i in range(n):
	if l[i] > 0:
		q += 1
	elif l[i] == 0:
		w += 1
	else:
		e += 1
if q >= w + e:
	print(1)
elif e >= w + q:
	print(-1)
else:
	print(0)


n = int(input())
a = [int(x) for x in input().split()]
kn = 0
for i in a:
	if i == 0:
		kn += 1
if kn > n // 2:
	print(0)
else:
	ko = 0
	kp = 0
	for i in a:
		if i < 0:
			ko += 1
		elif i != 0:
			kp += 1
	if ko * 2 < n and kp * 2 < n:
		print(0)
		exit()
	if ko == kp:
		print(1)
		exit()
	if ko > kp:
		print(-1)
	else:
		print(1)


import math
N = int(input())
A = sorted([int(n) for n in input().split()])
zero = A.count(0)
pos = len([a for (i, a) in enumerate(A) if a > 0])
neg = len([a for (i, a) in enumerate(A) if a < 0])
num = math.ceil(N / 2)
if pos >= num:
	print(1)
elif neg >= num:
	print(-1)
else:
	print(0)


import sys
from math import ceil

def main():
	(_, *l) = map(int, sys.stdin.read().strip().split())
	(p, n, f, t) = (0, 0, 0, int(ceil(len(l) / 2)))
	for i in l:
		if i > 0:
			p += 1
		elif i < 0:
			n += 1
		else:
			f += 1
	if p >= t:
		return 1
	if n >= t:
		return -1
	return 0
print(main())


import math
num = int(input())
x = input().split()
need = math.ceil(num / 2)
cnt_positive = 0
cnt_negative = 0
for data in x:
	if int(data) > 0:
		cnt_positive += 1
	elif int(data) < 0:
		cnt_negative += 1
if cnt_positive >= need:
	print(1)
elif cnt_negative >= need:
	print(-1)
else:
	print(0)


from math import ceil
n = int(input())
numbers = [float(x) for x in input().split()]
cnt_neg = 0
cnt_pos = 0
cnt_zero = 0
for num in numbers:
	if num == 0:
		cnt_zero += 1
	elif num > 0:
		cnt_pos += 1
	else:
		cnt_neg += 1
half = ceil(n / 2)
if cnt_pos >= half:
	print(1)
elif cnt_neg >= half:
	print(-1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
z = b = c = 0
for i in a:
	if i < 0:
		c += 1
	elif i > 0:
		b += 1
	else:
		z += 1
if b >= c and b >= int(n / 2 + 0.5):
	print(1)
elif c > b and c >= int(n / 2 + 0.5):
	print(-1)
else:
	print(0)


import math as mt
n = int(input())
v = [int(x) for x in input().split()]
n = mt.ceil(n / 2)
cntp = 0
cntn = 0
for x in v:
	if x > 0:
		cntp += 1
	elif x < 0:
		cntn += 1
if cntp < n and cntn < n:
	print(0)
elif cntp >= n:
	print(1)
else:
	print(-1)