# -*- coding: utf-8 -*-


def main():
    n = int(input())
    a = sorted(list(map(int, input().split())))
    plus = [a[-1]]
    minus = [a[0]]

    # KeyInsight
    # 具体的な数字ではなく，変数として扱う
    # 数列のうち，1つは正，もう一つは負として扱う
    # 残りは，正の値となるように符号を調整
    # See:
    # https://www.youtube.com/watch?v=TbobvdA6AlE
    for ai in a[1:-1]:
        if ai >= 0:
            plus.append(ai)
        else:
            minus.append(ai)

    print(sum(plus) - sum(minus))

    # 正として扱う要素を1つ以外，操作(x - y)を行う
    for p in plus[1:]:
        print(minus[-1], p)
        minus[-1] -= p

    for m in minus:
        print(plus[0], m)
        plus[0] -= m


if __name__ == '__main__':
    main() def main():
    n = int(input())
    a = sorted(list(map(int, input().split())))
    plus = [a[-1]]
    minus = [a[0]]

    # KeyInsight
    # 具体的な数字ではなく，変数として扱う
    # 数列のうち，1つは正，もう一つは負として扱う
    # 残りは，正の値となるように符号を調整
    # See:
    # https://www.youtube.com/watch?v=TbobvdA6AlE
    for ai in a[1:-1]:
        if ai >= 0:
            plus.append(ai)
        else:
            minus.append(ai)

    print(sum(plus) - sum(minus))

    # 正として扱う要素を1つ以外，操作(x - y)を行う
    for p in plus[1:]:
        print(minus[-1], p)
        minus[-1] -= p

    for m in minus:
        print(plus[0], m)
        plus[0] -= m main n = int(input()) n int(input()) int input() input a = sorted(list(map(int, input().split()))) a sorted(list(map(int, input().split()))) sorted list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split plus = [a[-1]] plus [a[-1]] a[-1] a -1 minus = [a[0]] minus [a[0]] a[0] a 0 for ai in a[1:-1]:
        if ai >= 0:
            plus.append(ai)
        else:
            minus.append(ai)

     ai a[1:-1] a 1:-1 1 -1 if ai >= 0:
            plus.append(ai)
        else:
            minus.append(ai)

     ai >= 0 ai 0 plus.append(ai) plus.append plus append ai minus.append(ai) minus.append minus append ai print(sum(plus) - sum(minus)) print sum(plus) - sum(minus) sum(plus) sum plus sum(minus) sum minus for p in plus[1:]:
        print(minus[-1], p)
        minus[-1] -= p

     p plus[1:] plus 1: 1 print(minus[-1], p) print minus[-1] minus -1 p minus[-1] -= p minus[-1] minus -1 p for m in minus:
        print(plus[0], m)
        plus[0] -= m m minus print(plus[0], m) print plus[0] plus 0 m plus[0] -= m plus[0] plus 0 m if __name__ == '__main__':
    main() __name__ == '__main__' __name__ '__main__' main() main def main():
    n = int(input())
    a = sorted(list(map(int, input().split())))
    plus = [a[-1]]
    minus = [a[0]]

    # KeyInsight
    # 具体的な数字ではなく，変数として扱う
    # 数列のうち，1つは正，もう一つは負として扱う
    # 残りは，正の値となるように符号を調整
    # See:
    # https://www.youtube.com/watch?v=TbobvdA6AlE
    for ai in a[1:-1]:
        if ai >= 0:
            plus.append(ai)
        else:
            minus.append(ai)

    print(sum(plus) - sum(minus))

    # 正として扱う要素を1つ以外，操作(x - y)を行う
    for p in plus[1:]:
        print(minus[-1], p)
        minus[-1] -= p

    for m in minus:
        print(plus[0], m)
        plus[0] -= m def main():
    n = int(input())
    a = sorted(list(map(int, input().split())))
    plus = [a[-1]]
    minus = [a[0]]

    # KeyInsight
    # 具体的な数字ではなく，変数として扱う
    # 数列のうち，1つは正，もう一つは負として扱う
    # 残りは，正の値となるように符号を調整
    # See:
    # https://www.youtube.com/watch?v=TbobvdA6AlE
    for ai in a[1:-1]:
        if ai >= 0:
            plus.append(ai)
        else:
            minus.append(ai)

    print(sum(plus) - sum(minus))

    # 正として扱う要素を1つ以外，操作(x - y)を行う
    for p in plus[1:]:
        print(minus[-1], p)
        minus[-1] -= p

    for m in minus:
        print(plus[0], m)
        plus[0] -= m main
# -*- coding: utf-8 -*-


def main():
    n = int(input())
    a = sorted(list(map(int, input().split())))
    plus = [a[-1]]
    minus = [a[0]]

    # KeyInsight
    # 具体的な数字ではなく，変数として扱う
    # 数列のうち，1つは正，もう一つは負として扱う
    # 残りは，正の値となるように符号を調整
    # See:
    # https://www.youtube.com/watch?v=TbobvdA6AlE
    for ai in a[1:-1]:
        if ai >= 0:
            plus.append(ai)
        else:
            minus.append(ai)

    print(sum(plus) - sum(minus))

    # 正として扱う要素を1つ以外，操作(x - y)を行う
    for p in plus[1:]:
        print(minus[-1], p)
        minus[-1] -= p

    for m in minus:
        print(plus[0], m)
        plus[0] -= m


if __name__ == '__main__':
    main()
