n = int(input()) A = list(map(int, input().split())) def f(A): A.sort() if A[0] >= 0: return 0 r = 2 * n - 1 cnt = 0 for l in range(n): while l < r and A[l] + A[r] >= 0: r -= 1 if l == r: break cnt += 1 r -= 1 return cnt dry = f(A) wet = f([-a for a in A]) cnt = {} moi = 0 z = 0 A.sort() for a in A: if a < 0: cnt[-a] = cnt.get(-a, 0) + 1 elif a == 0: z += 1 else: if cnt.get(a, 0) >= 1: cnt[a] -= 1 moi += 1 moi += z // 2 print(dry, wet, moi)