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.

Source: codeforces | Difficulty: EASY
Tags: Implementation


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)


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


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')


from math import ceil
n = int(input())
x = list(map(int, input().split()))
c = 0
d = 0
for i in x:
	if i / 1 > 0:
		c = c + 1
	if i / -1 > 0:
		d = d + 1
if c >= n / 2:
	print(1)
elif d >= 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 = [int(num) for num in input().split()]
ar_p = list(filter(lambda n: n > 0, a))
ar_n = list(filter(lambda n: n < 0, a))
if max(len(ar_n), len(ar_p)) >= len(a) / 2:
	if len(ar_p) > len(ar_n):
		print(1)
	else:
		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)


import math
input()
L = list(map(int, input().split()))
np = 0
nn = 0
nh = math.ceil(len(L) / 2)
for x in L:
	if x > 0:
		np += 1
	elif x < 0:
		nn += 1
if np >= nh:
	print(np)
elif nn >= nh:
	print(-1 * nh)
else:
	print(0)


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)


(n, numbers) = ((int(input()) + 1) // 2, input().split(' '))
if ''.join(numbers).count('-') >= n:
	print(-1)
elif len(numbers) - (''.join(numbers).count('-') + numbers.count('0')) >= n:
	print(1)
else:
	print(0)


n = int(input())
n = (n + 1) // 2
array = [int(x) for x in input().split(' ')]
a = b = 0
for el in array:
	if el > 0:
		a += 1
	elif el < 0:
		b += 1
if b >= n:
	print(-1)
elif a >= n:
	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)


t = int(input())
ls = list(map(int, input().strip().split(' ')))
p = n = 0
x = (t + 1) // 2
for val in ls:
	if val > 0:
		p += 1
	elif val < 0:
		n += 1
if p >= x:
	print('4')
elif n >= x:
	print('-4')
else:
	print('0')


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)


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


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')


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


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)


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


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)


a = int(input())
c = 0
d = 0
from math import ceil as z
for i in map(int, input().split()):
	c += i > 0
	d += i < 0
print([[0, 1][c >= z(a / 2)], -1][d >= z(a / 2)])


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())
l = list(map(int, input().split()))
k0 = kb = km = 0
for x in l:
	if x == 0:
		k0 += 1
	elif x > 0:
		kb += 1
	else:
		km += 1
if k0 > (n + 1) // 2 or (km < (n + 1) // 2 and kb < (n + 1) // 2):
	print(0)
else:
	print(1 if kb > km else -1)


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)


n = int(input())
a = [int(s) for s in input().split()]
k = n // 2 + n % 2
cp = 0
cn = 0
co = 0
for i in range(n):
	if a[i] > 0:
		cp += 1
	elif a[i] == 0:
		cn += 1
	else:
		co += 1
if cp >= k:
	print(4)
elif co >= k:
	print(-4)
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)


n = int(input())
l = list(map(int, input().split()))
nl = (n + 1) // 2
co_p = 0
co_n = 0
for i in l:
	if i > 0:
		co_p += 1
	elif i < 0:
		co_n += 1
if co_p >= nl:
	print(4)
	exit()
if co_n >= nl:
	print(-4)
	exit()
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))


input()
s = list(map(int, input().split()))

def g(a, d):
	z = 0
	for x in a:
		if x / d > 0:
			z = z + 1
	return z
if g(s, 2) >= len(s) / 2:
	print(2)
elif g(s, -2) >= len(s) / 2:
	print(-2)
else:
	print(0)


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')


ent = input()
ent2 = input()
dados = ent2.split()
pos = 0
neg = 0
for i in range(int(ent)):
	dados[i] = int(dados[i])
	if dados[i] > 0:
		pos += 1
	elif dados[i] < 0:
		neg += 1
if pos >= int(ent) / 2:
	print(1)
elif neg >= int(ent) / 2:
	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)


import math
n = int(input())
a = [int(i) for i in input().split(' ')]
P = 0
N = 0
for i in range(n):
	if a[i] > 0:
		P += 1
	elif a[i] < 0:
		N += 1
k = math.ceil(n / 2)
if P >= k:
	print(3)
elif N >= k:
	print(-3)
else:
	print(0)


from sys import stdin
from math import ceil
n = int(stdin.readline().strip())
s = list(map(int, stdin.readline().strip().split()))
ans = 0
for i in range(-1000, 1001):
	if i == 0:
		continue
	x = 0
	for j in s:
		y = j / i
		if y > 0:
			x += 1
	if x >= ceil(n / 2):
		ans = i
		break
print(ans)


import math

def parseInt(s):
	return int(s)

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


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())
numbers = list(map(int, input().split()))
(pve, nve) = (0, 0)
for i in numbers:
	if i > 0:
		pve += 1
	elif i < 0:
		nve += 1
if nve >= math.ceil(n / 2):
	print(-1)
elif pve >= math.ceil(n / 2):
	print(1)
else:
	print(0)


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


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


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


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


n = int(input())
a = list(map(int, input().split()))
zero = 0
poz = 0
neg = 0
for i in range(0, n):
	if a[i] < 0:
		neg += 1
	elif a[i] == 0:
		zero += 1
	else:
		poz += 1
if neg >= zero + poz:
	print(-1)
	exit()
if poz >= zero + neg:
	print(1)
	exit()
print(0)


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)


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


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


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


import math
n = int(input())
positive = negative = zero = 0
for i in map(int, input().split()):
	if i == 0:
		zero += 1
	elif i > 0:
		positive += 1
	else:
		negative += 1
if positive >= math.ceil(n / 2) or negative >= math.ceil(n / 2):
	if positive > negative:
		print(1)
	else:
		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)


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


n = int(input())
a = sorted(map(int, input().split()))
x = (n - 1) // 2
if a[x] < 0:
	print(-1)
elif a[n - 1 - x] > 0:
	print(1)
else:
	print(0)


n = int(input())
cnt = 0
cnt1 = 0
cnt2 = 0
maxx1 = 0
maxx2 = 0
m = [int(i) for i in input().split()]
for i in range(len(m)):
	if m[i] == 0:
		cnt += 1
	if m[i] > 0:
		cnt1 += 1
	if m[i] < 0:
		cnt2 += 1
if cnt2 >= (n + 1) // 2:
	print(-1)
elif cnt1 >= (n + 1) // 2:
	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())
a = [int(elem) for elem in input().split()]
mench = 0
bol = 0
for i in range(n):
	if a[i] < 0:
		mench += 1
	elif a[i] > 0:
		bol += 1
if mench >= (n + 1) // 2 or bol >= (n + 1) // 2:
	if mench >= (n + 1) // 2:
		print(-1)
	else:
		print(1)
else:
	print(0)


n = int(input())
s = input().split()
t = 0
for d in range(-1000, 1001):
	k = 0
	if t == 1:
		break
	if d != 0:
		for i in range(n):
			if int(s[i]) / d > 0:
				k += 1
		if k >= n / 2:
			print(d)
			t = 1
if t == 0:
	print(0)


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


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)


from math import ceil
n = int(input())
l = list(map(int, input().split()))
(count1, count2) = (0, 0)
for i in range(n):
	if l[i] > 0:
		count1 += 1
	elif l[i] < 0:
		count2 += 1
c = ceil(n / 2)
if count1 >= c:
	print(4)
elif count2 >= c:
	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')


n = int(input())
n = -1
p = 1
counter1 = 0
counter2 = 0
a = [int(x) for x in input().split()]
for y in a:
	if y / n > 0:
		counter1 = counter1 + 1
	elif y / p > 0:
		counter2 = counter2 + 1
if counter1 >= len(a) / 2:
	print(n)
elif counter2 >= len(a) / 2:
	print(p)
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)


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


import math
from sys import stdin
n = int(stdin.readline())
a = list(map(int, input().rstrip().split()))
count = 0
for i in a:
	if i < 0:
		count += 1
k = math.ceil(n / 2)
count1 = 0
count2 = 0
for i in a:
	if i < 0:
		count1 += 1
	elif i > 0:
		count2 += 1
if count1 >= k or count2 >= k:
	if count1 >= k:
		print(-1)
		exit()
	else:
		print(1)
		exit()
print(0)


import math
n = int(input())
element = [int(i) for i in input().split()]
pos = 0
neg = 0
if 0 in element:
	zero = element.count(0)
	element.remove(0)
else:
	zero = 0
for i in element:
	if i < 0:
		neg += 1
	elif i > 0:
		pos += 1
if max([neg, pos, zero]) == neg and math.ceil(n / 2) <= neg:
	print(-1)
elif max([neg, pos, zero]) == pos and math.ceil(n / 2) <= pos:
	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)


import math
n = input()
n = int(n)
x = math.ceil(n / 2)
l = input()
l = map(int, l.split(' '))
a = 0
b = 0
for i in l:
	if i < 0:
		a += 1
	if i > 0:
		b += 1
if a >= x:
	print(-1)
	exit()
if b >= x:
	print(1)
	exit()
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()


n = int(input())
a = list(map(int, input().split()))
ans = 0
if n % 2 == 0:
	k = n // 2
else:
	k = n // 2 + 1
for d in range(-1000, 1001, 1):
	if d == 0:
		d = 1
	b = []
	for i in range(n):
		b.append(a[i] / d)
	kp = 0
	for i in range(n):
		if b[i] > 0:
			kp += 1
	if kp >= k:
		ans = d
print(ans)


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)


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


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())
a = [*map(int, input().split())]
(x, y, k) = (sum((x > 0 for x in a)), sum((x < 0 for x in a)), -1 - -n // 2)
print([[0, 1][x > k], -1][y > k])


n = int(input())
seq = list(map(int, input().split()))
cnt = 0
neg = 0
pos = 0
for s in seq:
	if s < 0:
		neg += 1
	elif s > 0:
		pos += 1
	else:
		cnt += 1
if neg > (n - 1) // 2:
	print(-1)
elif pos > (n - 1) // 2:
	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)


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


def pvs(l, a):
	for i in range(-2, 9):
		if i == 0:
			i += 2
		c = [float(x / i) for x in l]
		d = [float(x) for x in c if x > 0]
		e = len(d)
		if e >= a:
			b = i
			break
	if e >= a:
		return b
	else:
		return 0
t = int(input())
l = list(map(int, input().split()))
import math
a = math.ceil(t / 2)
print(pvs(l, a))


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, copy, functools
import random
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
eps = 1.0 / 10 ** 10
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 list(map(int, sys.stdin.readline().split()))

def LLI():
	return [list(map(int, l.split())) for l in sys.stdin.readlines()]

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

def LF():
	return [float(x) for x in sys.stdin.readline().split()]

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

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

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

def S():
	return input()

def pf(s):
	return print(s, flush=True)

def pe(s):
	return print(str(s), file=sys.stderr)

def main():
	n = I()
	a = LI()
	b = c = 0
	for d in a:
		if d < 0:
			b += 1
		elif d > 0:
			c += 1
	k = n / 2
	if b >= k:
		return -1
	if c >= k:
		return 1
	return 0
print(main())


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)


thresh = int(input()) / 2
pos = 0
negs = 0
for i in input().split():
	if int(i) > 0:
		pos += 1
	elif int(i) < 0:
		negs += 1
if negs >= thresh:
	print(-1)
elif pos >= thresh:
	print(1)
else:
	print(0)


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


import math
n = int(input())
x = math.ceil(n / 2)
negative = 0
positive = 0
arr = [int(i) for i in input().split()]
for number in arr:
	if number > 0 and number != 0:
		positive += 1
	elif number < 0 and number != 0:
		negative += 1
if positive >= x:
	print(7)
elif negative >= x:
	print(-7)
else:
	print(0)


def ceil(n):
	if n % 2 == 0:
		return n // 2
	else:
		return n // 2 + 1
assert ceil(2) == 1
assert ceil(3) == 2
assert ceil(1) == 1
assert ceil(7) == 4
assert ceil(10) == 5

def f(A):
	(n0, nn) = (0, 0)
	for a in A:
		if a == 0:
			n0 += 1
		if a < 0:
			nn += 1
	np = len(A) - (n0 + nn)
	ans = 0
	half = ceil(len(A))
	if nn >= half:
		ans = -1
	elif np >= half:
		ans = 1
	return ans
assert f([10, 0, -7, 2, 6]) == 1
assert f([0, 0, 1, -1, 0, 0, 2]) == 0
assert f([0, 0, 0, 1, 1]) == 0
assert f([777]) == 1
assert f([-62, 0, 94, -49, 84, -11, -88, 0, -88, 94]) == -1
assert f([1, 0]) == 1
assert f([-218, 113, -746, -267, 498, 408, 116, 756, -793, 0, -335, -213, 593, -467, 807, -342, -944, 13, 637, -82, -16, 860, -333, -94, 409, -149, -79, -431, -321, 974, 148, 779, -860, -992, -598, 0, -300, 285, -187, 404, -468, 0, -586, 875, 0, 0, -26, 366, 221, -759, -194, -353, -973, -968, -539, 0, 925, -223, -471, 237, 208, 0, 420, 688, 640, -711, 964, 661, 708, -158, 54, 864, 0, -697, -40, -313, -194, 220, -211, 108, 596, 534, 148, -137, 939, 106, -730, -800, -266, 433, 421, -135, 76, -51, -318, 0, 631, 591, 46, 669]) == 0
n = int(input())
A = [*map(int, input().split())]
ans = f(A)
print(ans)


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)


import math
n = int(input())
numbers = list(map(int, input().split()))
plus = 0
minus = 0
for i in numbers:
	if i < 0:
		minus += 1
	elif i > 0:
		plus += 1
if plus >= math.ceil(n / 2):
	print(max(numbers))
elif minus >= math.ceil(n / 2):
	print(min(numbers))
else:
	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')


x = (int(input()) + 1) // 2
a = list(map(int, input().split()))
v = [1 if i > 0 else -1 if i < 0 else 0 for i in a]
m = v.count(1)
n = v.count(-1)
print(0 if x > m and x > n else 1 if m > n else -1)


from math import ceil
input()
X = list(map(int, input().split()))
(P, N) = (0, 0)
for i in range(len(X)):
	if X[i] > 0:
		P += 1
	elif X[i] < 0:
		N += 1
if N >= ceil(len(X) / 2):
	print(-1)
elif P >= ceil(len(X) / 2):
	print(1)
else:
	print(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)


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


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)


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


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)


n = int(input())
a = list(map(int, input().split()))
l = (len(a) + 1) // 2
for i in range(-10 ** 3, 10 ** 3 + 1):
	if i == 0:
		continue
	ch = 0
	for j in a:
		if j // i > 0:
			ch += 1
	if ch >= l:
		print(i)
		exit()
print(0)


import sys
n = int(sys.stdin.readline())
a = list(map(int, sys.stdin.readline().split()))
for i in range(-1000, 1001):
	c = 0
	if i == 0:
		continue
	for j in a:
		if j // i > 0:
			c += 1
	if c >= len(a) / 2:
		print(i)
		break
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
q = [0] * 2001
if n % 2 == 0:
	qw = n // 2
else:
	qw = n // 2 + 1
pol = 0
otr = 0
for i in a:
	if i > 0:
		pol += 1
	elif i < 0:
		otr += 1
if qw > pol and qw > otr:
	print(0)
	exit()
for i in a:
	q[i + 1000] = 1
if qw <= pol:
	for i in range(1000, 2001):
		if q[i] == 0 and i - 1000 != 0:
			print(i - 1000)
			exit()
if qw <= otr:
	for i in range(0, 1000):
		if q[i] == 0:
			print(i - 1000)
			exit()
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)


import random
n = int(input())
limit = n / 2
input_data = input().split(' ')
numbers = [n]
pos = 0
neg = 0
for i in range(0, n):
	if int(input_data[i]) > 0:
		pos += 1
	elif int(input_data[i]) < 0:
		neg += 1
if pos >= limit:
	print(random.randint(2, 100))
elif neg >= limit:
	print(-1 * random.randint(0, 100))
else:
	print(0)


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


def chPathToThis(f=None):
	import os
	f = __file__ if f is None else f
	os.chdir(os.path.dirname(f))
fle = None

def input():
	global fle

	def inner():
		if fle is None:
			from sys import stdin
			for line in stdin:
				yield line
			raise EOFError
		else:
			for line in fle:
				yield line.replace('\r', '').replace('\n', '')
			raise EOFError
	o = inner()
	return next(o)

def main():
	n = int(input())
	a = [int(e) for e in input().split()]
	(b, c) = (0, 0)
	for i in a:
		if i > 0:
			b += 1
		elif i < 0:
			c += 1
	if b >= (n + 1) // 2:
		print(1)
	elif c >= (n + 1) // 2:
		print(-1)
	else:
		print(0)
try:
	import time, numpy
	chPathToThis(__file__)
	(begin, fle) = (time.clock(), open('pytest.txt'))
	main()
	fle.close()
	print('time:', time.clock() - begin)
except ImportError:
	main()


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)


from sys import stdin
from collections import Counter
from math import sqrt, factorial, log10, log, floor, ceil
from itertools import permutations, combinations, combinations_with_replacement
input = stdin.readline

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

def lis():
	return list(map(str, input().split()))

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

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

def inps():
	return str(input().strip())

def pr(n):
	return stdout.write(str(n) + '\n')
INF = float('inf')

def solve():
	n = inp()
	a = li()
	x = ceil(n / 2)
	(pos, neg) = (0, 0)
	for i in a:
		if i > 0:
			pos += 1
		if i < 0:
			neg += 1
	if x <= pos:
		print(2)
	elif x <= neg:
		print(-2)
	else:
		print(0)
t = 1
for i in range(t):
	solve()


import math
n = int(input())
a = [int(x) for x in input().split()]
threshold = int(math.ceil(n / 2))
flag = 0
for i in range(-1000, 1002):
	if i == 0:
		continue
	count = 0
	for item in a:
		if item / i > 0:
			count += 1
	if count >= threshold:
		print(i)
		flag = 1
		break
if flag == 0:
	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)


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


from collections import Counter

def sign(x):
	if x:
		return x // abs(x)
	else:
		return 0
n = int(input())
t = Counter(map(sign, map(int, input().split())))
tt = list(filter(lambda x: 2 * t[x] >= n and x, t.keys()))
print(tt[0] if tt else 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)


import sys
from collections import defaultdict as dd
from itertools import permutations as pp
from itertools import combinations as cc
from collections import Counter as ccd
from random import randint as rd
from bisect import bisect_left as bl
import heapq
mod = 10 ** 9 + 7

def ri(flag=0):
	if flag == 0:
		return [int(i) for i in sys.stdin.readline().split()]
	else:
		return int(sys.stdin.readline())
n = ri(1)
ans = 0
a = ri()
if n % 2 == 1:
	x = (n + 1) // 2
else:
	x = n // 2
for i in range(-1000, 1001):
	if i != 0:
		c = 0
		for j in a:
			if j / i > 0:
				c += 1
		if c >= x:
			ans = i
print(ans)


from math import *
n = int(input())
arr = list(map(int, input().split()))
temp = int(ceil(n / 2))
if sum(arr) >= 0:
	for i in range(-1000, 1001, 1):
		if i == 0:
			continue
		else:
			new = []
			for j in arr:
				new.append(j / i)
			pos_count = 0
			for j in new:
				if j > 0:
					pos_count += 1
			if pos_count >= temp:
				print(i)
				break
			else:
				continue
	else:
		print(0)
else:
	for i in range(-1000, 1001, 1):
		if i == 0:
			continue
		else:
			new = []
			for j in arr:
				new.append(j / i)
			pos_count = 0
			for j in new:
				if j > 0:
					pos_count += 1
			if pos_count >= temp:
				print(i)
				break
			else:
				continue
	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)


from math import ceil
n = int(input())
a = list(map(int, input().split()))
(p, N) = (0, 0)
(P, Ne) = ([], [])
for i in range(n):
	if a[i] > 0:
		p += 1
		P.append(a[i])
	elif a[i] < 0:
		N += 1
		Ne.append(-a[i])
if p >= ceil(n / 2):
	print(int(ceil(n / 2) / min(P)) + 1)
elif N >= ceil(n / 2):
	print(-(int(ceil(n / 2) / min(Ne)) + 1))
else:
	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)


try:
	n = int(input())
	l = list(map(int, input().split()))
	lp = []
	ln = []
	if n % 2 == 0:
		x = n // 2
	else:
		x = n // 2 + 1
	cp = 0
	cn = 0
	for i in l:
		if i > 0:
			lp.append(i)
		elif i < 0:
			ln.append(i)
	if len(lp) >= x:
		print(min(lp))
	elif len(ln) >= x:
		print(max(ln))
	else:
		print('0')
except EOFError:
	pass


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)


from math import ceil
n = int(input().strip())
nums = {'neg': 0, 'pos': 0}
num = [int(i) for i in input().strip().split()]
for i in num:
	if i < 0:
		nums['neg'] += 1
	elif i > 0:
		nums['pos'] += 1
if nums['neg'] >= ceil(n / 2):
	print(-1)
elif nums['pos'] >= 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)


n = int(input())
a = list(map(int, input().split()))
import math
n = math.ceil(n / 2)
count_g = 0
count_l = 0
for i in a:
	if i > 0:
		count_g += 1
	elif i < 0:
		count_l += 1
if count_l >= n:
	print(-1)
elif count_g >= n:
	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)


n = int(input())
a = [int(x) for x in input().split()]
from math import ceil
import sys
debug = len(sys.argv) - 1
(p, n, z) = (0, 0, a.count(0))
for i in a:
	if i > 0:
		p += 1
	if i < 0:
		n += 1
if debug > 0:
	print(p, n, z)
if max(p, n) >= ceil(len(a) / 2):
	if p > n:
		print(1)
	else:
		print(-1)
else:
	print(0)


import math
n = int(input())
l = [int(x) for x in input().split()]
n = math.ceil(n / 2)
pve = 0
nve = 0
for i in range(len(l)):
	if l[i] > 0:
		pve = pve + 1
	elif l[i] < 0:
		nve = nve + 1
if pve > nve:
	if pve >= n:
		print(1)
	else:
		print(0)
elif nve >= n:
	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 = input('').split()
b = 0
if n % 2 == 0:
	b = n / 2
if n % 2 == 1:
	b = n / 2 + 0.5
l = []
for e in a:
	l.append(int(e))
k = []
d = -1
da = []
db = 1
while db != 3:
	for e in l:
		if e / d > 0:
			k.append(e)
	if len(k) >= b:
		print(d)
		da.append(d)
		break
	d = 1
	db += 1
	k = []
if len(da) == 0:
	print(0)


import math
n = int(input())
l = list(map(int, input().split()))
k = []
m = []
r = int(math.ceil(n / 2))
for i in l:
	if i > 0:
		k.append(i)
	elif i < 0:
		m.append(i)
if len(k) >= len(m) and len(k) >= r:
	print(min(k))
elif len(m) >= r:
	print(min(m))
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())
a = list(map(int, input().split()))
(zero, positive) = (a.count(0), len([1 for m in a if m > 0]))
(negative, req) = (n - zero - positive, (n + 1) // 2)
if max(positive, negative) < req:
	print(0)
elif positive > negative:
	print(1)
else:
	print(-1)


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')


from math import ceil
n = int(input())
arr = list(map(int, input().split()))
up = ceil(n / 2)
nop = 0
non = 0
for i in arr:
	if i < 0:
		non += 1
	elif i > 0:
		nop += 1
ans = 0
if nop < up and non < up:
	ans = 0
else:
	countp = 0
	if nop > non:
		for i in range(1, 1001):
			for k in arr:
				if k / i > 0:
					countp += 1
			if countp > up:
				ans = i
				break
	else:
		for i in range(-1000, 0):
			for k in arr:
				if k / i > 0:
					countp += 1
			if countp > up:
				ans = i
				break
print(ans)


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)


def main():
	n = int(input())
	a = list(map(int, input().split()))
	for d in range(-1000, 1001):
		cur = 0
		for i in a:
			if d != 0 and i / d > 0:
				cur += 1
		if cur >= int(n / 2 + 0.5):
			print(d)
			exit(0)
	print(0)
main()


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


n = int(input())
a = list(map(int, input().split()))

def cnt(a, d):
	if d == 0:
		return False
	res = 0
	for i in range(len(a)):
		if a[i] / d > 0:
			res += 1
	if res >= n // 2 + n % 2:
		return True
	return False
f = True
for d in range(-1000, 1001):
	if cnt(a, d):
		print(d)
		f = False
		break
if f:
	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)


n = int(input())
p = input().rstrip().split(' ')
if n % 2 == 0:
	F = 0
	c = n // 2
	for i in range(-1000, 1001):
		F = 0
		for j in range(0, len(p)):
			if i != 0 and int(p[j]) / i > 0:
				F += 1
		if F >= c:
			print(i)
			break
	else:
		print(0)
else:
	F = 0
	c = n // 2 + 1
	for i in range(-1000, 1001):
		F = 0
		for j in range(0, len(p)):
			if i != 0 and int(p[j]) / i > 0:
				F += 1
		if F >= c:
			print(i)
			break
	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()))
if n % 2 == 1:
	cnt = n // 2 + 1
else:
	cnt = n // 2
cnt0 = 0
cnt1 = 0
cnt2 = 0
for i in a:
	if i < 0:
		cnt2 += 1
	elif i > 0:
		cnt1 += 1
	else:
		cnt0 += 1
if cnt2 >= cnt:
	print('-1')
elif cnt1 >= cnt:
	print('1')
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')


import sys, math
t = int(sys.stdin.readline())
l = list(map(int, sys.stdin.readline().split()))
countpos = 0
count0 = 0
countneg = 0
for i in l:
	if i == 0:
		count0 += 1
	elif i > 0:
		countpos += 1
	else:
		countneg += 1
ans = math.ceil(t / 2)
if countpos >= ans:
	print(4)
elif countneg >= ans:
	print(-4)
else:
	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)


import math
n = int(input())
arr = [int(i) for i in input().split()]
(more, less, zeros) = (0, 0, arr.count(0))
for i in range(n):
	if arr[i] > 0:
		more += 1
	elif arr[i] < 0:
		less += 1
if max(more, less) >= math.ceil(n / 2):
	if more > less:
		print(1)
	else:
		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)


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


import math
n = math.ceil(int(input()) / 2)
listOfInt = list(map(int, input().split()))
positive = 0
negative = 0
noSolution = 0
checkPrint = False
for i in listOfInt:
	if i > 0:
		positive += 1
		if positive >= n:
			print(1)
			checkPrint = True
			break
	elif i < 0:
		negative += 1
		if negative >= n:
			print(-1)
			checkPrint = True
			break
	elif i == 0:
		noSolution += 1
		if noSolution > n:
			print(0)
			checkPrint = True
			break
if checkPrint == False:
	print(0)


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))


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


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


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


n = int(input())
arr = [int(x) for x in input().split()]
count1 = 0
count2 = 0
for x in range(n):
	if arr[x] < 0:
		count1 = count1 + 1
	elif arr[x] > 0:
		count2 = count2 + 1
if n % 2 == 0:
	if count1 >= n / 2:
		print(-1)
	elif count2 >= n / 2:
		print(1)
	else:
		print(0)
elif n % 2 != 0:
	if count1 >= (n - 1) / 2 + 1:
		print(-1)
	elif count2 >= (n - 1) / 2 + 1:
		print(1)
	else:
		print(0)


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)


import math as math

def res():
	n = int(input())
	pos = 0
	neg = 0
	neutral = 0
	x = list(map(int, input().split(' ')))
	for i in range(n):
		if x[i] > 0:
			pos = pos + 1
		elif x[i] < 0:
			neg = neg + 1
		else:
			neutral = neutral + 1
	if pos >= math.ceil(n / 2):
		print(3)
	elif neg >= math.ceil(n / 2):
		print(-1)
	else:
		print(0)
res()


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)


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


import sys
from collections import defaultdict as dd
from itertools import permutations as pp
from itertools import combinations as cc
from collections import Counter as ccd
from random import randint as rd
from bisect import bisect_left as bl
import heapq
mod = 10 ** 9 + 7

def ri(flag=0):
	if flag == 0:
		return [int(i) for i in sys.stdin.readline().split()]
	else:
		return int(sys.stdin.readline())
import math
n = int(input())
a = [int(i) for i in input().split(' ')]
some = 0
N = 0
for i in range(n):
	if a[i] > 0:
		some += 1
	elif a[i] < 0:
		N += 1
if n % 2 == 1:
	k = (n + 1) // 2
else:
	k = n // 2
if some >= k:
	print(2)
elif N >= k:
	print(-2)
else:
	print(0)


n = int(input())
num = input()
num1 = num.split(' ')
if num.count('-') >= (n + 1) // 2:
	print(-1)
elif n - (num1.count('0') + num.count('-')) >= (n + 1) // 2:
	print(1)
else:
	print(0)


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 log, log2, ceil
for _ in range(1):
	n = int(input())
	a = list(map(int, input().split()))
	p = n // 2
	if n % 2:
		p += 1
	c = 0
	(pc, nc) = (0, 0)
	for i in a:
		if i == 0:
			c += 1
		elif i < 0:
			nc += 1
		else:
			pc += 1
	if nc >= p:
		print(-1)
	elif pc >= p:
		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)


n = int(input())
a = list(map(int, input().split()))
mn = 10000
mx = -10000
count_pos = count_neg = 0
for i in a:
	if i > 0:
		count_pos += 1
		if mn > i:
			mn = i
	elif i < 0:
		count_neg += 1
		if mx < i:
			mx = i
if n % 2 == 0:
	pn = n // 2
else:
	pn = n // 2 + 1
if count_pos >= pn:
	ans = mn
elif count_neg >= pn:
	ans = mx
else:
	ans = 0
print(ans)


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)


def half(m):
	if m % 2 == 0:
		return m / 2
	else:
		return m // 2 + 1

def check(integers, n):
	for d in range(1, 1001):
		int2 = [-(ele / d) for ele in integers if -(ele / d) > 0]
		if len(int2) >= half(n):
			print(-d)
			return
		int1 = [ele / d for ele in integers if ele / d > 0]
		if len(int1) >= half(n):
			print(d)
			return
	print('0')
n = int(input())
integers = list(map(int, input().split(' ')))
check(integers, n)


n = int(input())
s = [int(t) for t in input().split()]
largest = max(max(s), min(s) - min(s) * 2)
smallest = min(largest - largest * 2, largest)
size = n // 2 + 1 if n % 2 != 0 else n // 2
i = largest
if len(s) < 3:
	print(max(s) if max(s) > 0 else min(s))
else:
	while i >= smallest and i <= largest:
		d = 0
		for j in s:
			if i != 0 and j != 0 and (j // i > 0):
				d += 1
		if d >= size:
			break
		else:
			d = 0
			i -= 1
	print(i if d >= size else 0)


import math
length = float(input())
inputdata = input()
data = []
minN = int(math.ceil(length / 2))
ceros = 0
pos = 0
neg = 0
tempC = ''
for c in inputdata:
	if c == ' ':
		data.append(int(tempC))
		tempC = ''
	else:
		tempC += c
data.append(int(tempC))
for el in data:
	el = int(el)
	if el == 0:
		ceros += 1
	elif el > 0:
		pos += 1
	elif el < 0:
		neg += 1
if pos >= minN:
	print(4)
elif neg >= minN:
	print(-6)
else:
	print(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)


n = int(input())
a = list(map(int, input().split()))
if n % 2 == 0:
	m = int(n / 2)
else:
	m = n // 2 + 1
s = 0
k = 0
for i in range(n):
	if a[i] > 0:
		s += 1
	elif a[i] < 0:
		k += 1
if s >= m:
	print(4)
elif k >= m:
	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)


import math

def solution():
	n = int(input())
	a = 0
	b = 0
	arr = input()
	arr = arr.split()
	for i in arr:
		number = int(i)
		if number > 0:
			b += 1
		elif number < 0:
			a += 1
	d = math.ceil(n / 2.0)
	if d <= a:
		return -1
	if d <= b:
		return 1
	return 0
print(solution())


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


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


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())
CountP = 0
CountN = 0
a = list(map(int, input().split()))
for i in range(len(a)):
	if a[i] > 0:
		CountP += 1
	if a[i] < 0:
		CountN += 1
if CountN >= n / 2 or CountP >= n / 2:
	if CountN >= n / 2:
		print('-1')
	else:
		print('4')
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()


n = int(input())
lest = input().split()
m = len(list(filter(lambda x: x < 0, [int(i) for i in lest])))
k = len(list(filter(lambda x: x > 0, [int(i) for i in lest])))
if k >= n / 2:
	print(4)
elif m >= n / 2:
	print(-4)
else:
	print(0)


num = int(input())
data = input()
data = data.split(' ')
target = len(data) // 2
if not len(data) % 2 == 0:
	target += 1
for i in range(num):
	data[i] = int(data[i])
positives = 0
negatives = 0
for i in range(num):
	if data[i] > 0:
		positives += 1
	if data[i] < 0:
		negatives += 1
if positives >= target:
	print(2)
elif negatives >= target:
	print(-2)
else:
	print(0)


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)


n = int(input())
a = map(int, input().split())
po = 0
nu = 0
ot = 0
for i in a:
	if i < 0:
		ot += 1
	elif i > 0:
		po += 1
	else:
		nu += 1
if po >= n / 2:
	print(2)
elif ot >= n / 2:
	print(-2)
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)


from math import ceil
n = int(input())
nbs = input().strip().split(' ')
nbs = [int(x) for x in nbs]
pozitive = ceil(n / 2)
nbPoz = 0
nbNeg = 0
for i in nbs:
	if i > 0:
		nbPoz += 1
	elif i < 0:
		nbNeg += 1
if nbPoz >= pozitive:
	d = 3
elif nbNeg >= pozitive:
	d = -3
else:
	d = 0
print(d)


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')


import math
n = int(input())
arr = [int(x) for x in input().split()]
L1 = []
L2 = []
l = len(arr)
a = sorted(arr)
if a[0] < 0:
	k = a[0]
if a[l - 1] > 0:
	j = a[l - 1]
l1 = 0
l2 = 0
for i in arr:
	if i > 0:
		if i not in L1:
			L1.append(i)
			G1 = math.gcd(i, j)
			j = G1
			l1 = l1 + arr.count(i)
	if i < 0:
		if i not in L2:
			L2.append(i)
			G2 = math.gcd(-i, k)
			k = G2
			l2 = l2 + arr.count(i)
if n % 2 == 0:
	mid = n // 2
else:
	n = n + 1
	mid = n // 2
if l1 >= mid:
	print(G1)
elif l2 >= mid:
	print(-G2)
else:
	s = 0
	print(s)


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')


import math
n = math.ceil(int(input()) / 2)
l = list(map(int, input().split()))
o = l.count(0)
t = 0
t1 = 0
for i in l:
	if i < 0:
		t += 1
	elif i > 0:
		t1 += 1
if t >= t1 + o:
	print(-1)
elif t1 >= t + o:
	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 itertools

def main():
	n = int(input())
	data = [int(v) for v in input().split()]
	mv = n // 2 if n % 2 == 0 else n // 2 + 1
	for i in range(-1000, 1001):
		if i == 0:
			continue
		if len([v / i for v in data if v / i > 0]) >= mv:
			print(i)
			return
	print(0)
main()


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())
a = [0] * 3
for tmp in map(int, input().split()):
	a[0 if tmp == 0 else 1 if tmp > 0 else 2] += 1
z = 1
for i in [-1, 1]:
	if 2 * a[i] >= n:
		print(i)
		z = 0
		break
if z:
	print(0)


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))


import sys
import collections
input = sys.stdin.readline

def printnl(val):
	sys.stdout.write(str(val) + '\n')
n = int(input())
a = list(map(int, input().split()))
s = 0
ne = 0
for i in range(n):
	if a[i] > 0:
		s += 1
	if -a[i] > 0:
		ne += 1
if s >= (len(a) + 1) // 2:
	print(100)
elif ne >= (len(a) + 1) // 2:
	print(-100)
else:
	print(0)


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)


import sys
lines = sys.stdin.read().splitlines()
arr = lines[1].split(' ')
count = 0
negcount = 0
for i in arr:
	if int(i) > 0:
		count += 1
	elif int(i) < 0:
		negcount += 1
if count * 2 >= len(arr):
	print(4)
elif negcount * 2 >= len(arr):
	print(-4)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
x = n // 2
y = n % 2
if y != 0:
	x = x + 1
pc = 0
nc = 0
for i in range(n):
	if a[i] > 0:
		pc += 1
	elif a[i] < 0:
		nc += 1
if nc >= x:
	print(-1)
elif pc >= x:
	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')


from math import ceil as c
n = int(input())
ar = list(map(int, input().split()))
x = [i for i in ar if i < 0]
y = [i for i in ar if i > 0]
x = len(x)
y = len(y)
if x >= c(n / 2):
	print('-1')
elif y >= c(n / 2):
	print('1')
else:
	print('0')


from sys import stdin, stdout

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

def minp():
	return map(int, stdin.readline().rstrip().split())

def linp():
	return list(minp())

def main():
	n = inp()
	l = linp()
	if n % 2 == 1:
		x = int(n / 2) + 1
	else:
		x = int(n / 2)
	z = l.count(0)
	if z > x:
		print(0)
		exit()
	cnt = 0
	cntn = 0
	for i in range(n):
		if l[i] > 0:
			cnt += 1
		elif l[i] < 0:
			cntn += 1
	if cnt >= x:
		print(1)
	elif cntn >= x:
		print(-1)
	else:
		print(0)
main()


import math
n = int(input())
l = list(map(int, input().split()))
pc = 0
nc = 0
for i in range(n):
	if l[i] > 0:
		pc += 1
	if l[i] < 0:
		nc += 1
if pc > nc and pc >= math.ceil(n / 2):
	print(1)
elif nc >= math.ceil(n / 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()


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


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)


from math import ceil
n = int(input())
a = list(map(int, input().split(' ')))
(cneg, cpos) = (0, 0)
for i in range(n):
	if a[i] < 0:
		cneg += 1
	elif a[i] > 0:
		cpos += 1
q = ceil(n / 2)
if cneg >= q:
	print(-1)
elif cpos >= 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)


a = int(input())
m = list(map(int, input().split(' ')))
e = 0
f = 0
for i in m:
	if i > 0:
		e += 1
	elif i < 0:
		f += 1
if a % 2 == 0:
	if e >= a // 2:
		print(2)
	elif f >= a // 2:
		print(-1)
	else:
		print(0)
elif e > a // 2:
	print(2)
elif f > a // 2:
	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)


n = int(input())
l = list(map(int, input().split()))
s = 0
ss = 0
sss = 0
for i in l:
	if i > 0:
		s += 1
	elif i < 0:
		ss += 1
	else:
		sss += 1
if len(l) % 2:
	c = len(l) // 2 + 1
else:
	c = len(l) // 2
if s >= c:
	print(4)
elif ss >= c:
	print(-4)
else:
	print(0)


R = lambda : map(int, input().split())
R()
nums = list(R())
(pes, negs) = (0, 0)
for i in nums:
	if i > 0:
		pes += 1
	elif i < 0:
		negs += 1
n = len(nums)
d = n // 2 + n % 2
if negs >= d:
	print(-1)
elif pes >= d:
	print(1)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
if len(a) - a.count(0) < (len(a) + 1) // 2:
	print(0)
else:
	k = g = 0
	for i in range(n):
		if a[i] < 0:
			k += 1
		elif a[i] > 0:
			g += 1
	if k >= (len(a) + 1) // 2 or g >= (len(a) + 1) // 2:
		if k >= g:
			print(-1)
		else:
			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())
store = list(map(int, input().split()))
count_negative = 0
count_positive = 0
for i in range(n):
	if store[i] < 0:
		count_negative += 1
	elif store[i] > 0:
		count_positive += 1
if count_positive >= n / 2:
	print(2)
elif count_negative >= n / 2:
	print(-2)
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())
arr = list(map(int, input().split()))
pos = n // 2 + n % 2
for i in range(-10 * 3, 10 ** 3 + 1):
	cnt = 0
	if i == 0:
		continue
	for j in arr:
		if j / i > 0.0:
			cnt += 1
	if cnt >= pos:
		print(i)
		exit()
print(0)


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)


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


import math
t = int(input())
l = list(map(int, input().split()))
count_pos = 0
count_neg = 0
for i in l:
	if i > 0:
		count_pos += 1
	elif i < 0:
		count_neg += 1
if count_neg >= math.ceil(t / 2):
	print(min(l))
elif count_pos >= math.ceil(t / 2):
	mini = 999999999
	for i in l:
		if i > 0 and mini > i:
			mini = i
	print(mini)
else:
	print(0)


n = int(input())
a = list(map(int, input().split()))
en = n // 2 + n % 2
ls = 0
a1 = -1
gr = 0
a2 = -1
for elem in a:
	if elem < 0:
		ls += 1
		a1 = elem
	elif elem > 0:
		gr += 1
		a2 = elem
if ls >= en:
	print(a1)
elif gr >= en:
	print(a2)
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)


from math import ceil
n = int(input())
A = list(map(int, input().split()))
pos = 0
neg = 0
z = 0
for i in range(n):
	if A[i] > 0:
		pos += 1
	elif A[i] < 0:
		neg += 1
	elif A[i] == 0:
		z += 1
if pos >= ceil(n / 2):
	print(2)
elif neg >= ceil(n / 2):
	print(-2)
elif z >= ceil(n / 2):
	print(0)
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)


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


from sys import stdin
n = int(stdin.readline())
l = [int(x) for x in stdin.readline().rstrip().split()]
l = sorted(l)
negs = 0
poss = 0
for v in l:
	if v < 0:
		negs += 1
	elif v > 0:
		poss += 1
if negs >= n / 2:
	print(-1)
elif poss >= n / 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)


def solution(l1):
	z = len([x for x in l1 if x == 0])
	if z > len(l1) / 2:
		return 0
	p = len([x for x in l1 if x > 0])
	n = len([x for x in l1 if x < 0])
	if max(p, n) < len(l1) / 2:
		return 0
	if p > n:
		return 1
	else:
		return -1

def answer():
	n = int(input())
	l1 = [int(x) for x in input().split()]
	print(solution(l1))
answer()


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)


import sys
n = int(input())
p = 0
otr = 0
a = input().split()
for i in range(n):
	a[i] = int(a[i])
	if a[i] > 0:
		p += 1
	if a[i] < 0:
		otr += 1
k = 0
if n % 2 == 0:
	k = n // 2
else:
	k = n // 2
	k += 1
if a.count(0) > k:
	print(0)
	sys.exit()
if otr < k and p < k:
	print(0)
	sys.exit()
if p > otr:
	print(2)
else:
	print(-1)


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)


n = int(input())
t = list(map(int, input().split()))
if n % 2 == 0:
	p = n // 2
else:
	p = n // 2 + 1
t.sort()
(s, d) = (0, 0)
po = []
ne = []
for j in t:
	if j > 0:
		s += 1
		po.append(j)
	elif j < 0:
		d += 1
		ne.append(j)
if s >= p:
	print(min(po))
elif d >= p:
	print(max(ne))
else:
	print(0)


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


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())
a = list(map(int, input().split()))
p = len(list(filter(lambda d: d > 0, a)))
z = len(list(filter(lambda d: d == 0, a)))
n = len(list(filter(lambda d: d < 0, a)))
if p >= len(a) // 2 + len(a) % 2:
	print(1000)
elif n >= len(a) // 2 + len(a) % 2:
	print(-1000)
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)


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


size = int(input())
arr = list(map(int, input().split()))
cntP = cntN = 0
for i in arr:
	if i > 0:
		cntP += 1
	elif i < 0:
		cntN += 1
if size % 2 == 0:
	k = size // 2
else:
	k = size // 2 + 1
if cntP >= k:
	print(cntP)
elif cntN >= k:
	print(-cntN)
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())


n = int(input())
l = list(map(int, input().split()))
m = [-1, 1, 2, 3]
if n % 2 == 0:
	x = n / 2
else:
	x = n // 2 + 1
c = f = 0
for i in m:
	c = 0
	for k in l:
		if k / i > 0.0 and k != 0:
			c += 1
			if c >= x:
				print(i)
				f = 1
				break
	if f == 1:
		break
if f == 0:
	print(0)


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 = input().split()
pos = neg = 0
for i in range(n):
	a[i] = int(a[i])
	if a[i] > 0:
		pos += 1
	elif a[i] < 0:
		neg += 1
import math
div = math.ceil(n / 2)
if max(pos, neg) < div:
	print(0)
elif pos > neg:
	print(2)
else:
	print(-2)


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)


n1 = int(input())
l = list(map(int, input().split()))
z = 0
p = 0
n = 0
for i in l:
	if i == 0:
		z += 1
	elif i < 0:
		n += 1
	else:
		p += 1
l.sort()
if p + z <= n:
	print(l[0])
elif n + z <= p:
	print(l[n1 - 1])
else:
	print('0')