from collections import deque
N = int(input())
A = deque(sorted(list(map(int, input().split()))))
MAX, MIN = A.pop(), A.popleft()

ans = []
while len(A):
    if A[0] < 0:
        x, y = MAX, A.popleft()
        ans.append([MAX, y])
        MAX = MAX - y
    else:
        x, y = MIN, A.popleft()
        ans.append([x, y])
        MIN = MIN - y

ans.append([MAX, MIN])
print(MAX - MIN)
for x, y in ans:
    print(x, y) from collections import deque N = int(input()) N int(input()) int input() input A = deque(sorted(list(map(int, input().split())))) A deque(sorted(list(map(int, input().split())))) deque sorted(list(map(int, input().split()))) sorted list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split MAX, MIN = A.pop(), A.popleft() MAX A.pop() A.pop A pop MIN A.popleft() A.popleft A popleft ans = [] ans [] while len(A):
    if A[0] < 0:
        x, y = MAX, A.popleft()
        ans.append([MAX, y])
        MAX = MAX - y
    else:
        x, y = MIN, A.popleft()
        ans.append([x, y])
        MIN = MIN - y len(A) len A if A[0] < 0:
        x, y = MAX, A.popleft()
        ans.append([MAX, y])
        MAX = MAX - y
    else:
        x, y = MIN, A.popleft()
        ans.append([x, y])
        MIN = MIN - y A[0] < 0 A[0] A 0 0 x, y = MAX, A.popleft() x MAX y A.popleft() A.popleft A popleft ans.append([MAX, y]) ans.append ans append [MAX, y] MAX y MAX = MAX - y MAX MAX - y MAX y x, y = MIN, A.popleft() x MIN y A.popleft() A.popleft A popleft ans.append([x, y]) ans.append ans append [x, y] x y MIN = MIN - y MIN MIN - y MIN y ans.append([MAX, MIN]) ans.append ans append [MAX, MIN] MAX MIN print(MAX - MIN) print MAX - MIN MAX MIN for x, y in ans:
    print(x, y) x y ans print(x, y) print x y ans = [] [] ans A = deque(sorted(list(map(int, input().split())))) deque(sorted(list(map(int, input().split())))) A x, y = MAX, A.popleft() MAX x MIN = A.pop(), A.popleft() A.popleft() MIN y = MAX, A.popleft() A.popleft() y y = MIN, A.popleft() A.popleft() y MAX = MAX - y MAX - y MAX MIN = MIN - y MIN - y MIN N = int(input()) int(input()) N MAX, MIN = A.pop(), A.popleft() A.pop() MAX x, y = MIN, A.popleft() MIN x
from collections import deque
N = int(input())
A = deque(sorted(list(map(int, input().split()))))
MAX, MIN = A.pop(), A.popleft()

ans = []
while len(A):
    if A[0] < 0:
        x, y = MAX, A.popleft()
        ans.append([MAX, y])
        MAX = MAX - y
    else:
        x, y = MIN, A.popleft()
        ans.append([x, y])
        MIN = MIN - y

ans.append([MAX, MIN])
print(MAX - MIN)
for x, y in ans:
    print(x, y)
