import java.util.*;
public class RemoveZeroSumSequences {
    static class ListNode {
        int val;
        ListNode next;
        ListNode(int val) {
            this.val = val;
        }
    }
    public static ListNode buildLinkedList(int[] arr) {
        ListNode dummy = new ListNode(0);
        ListNode current = dummy;
        for (int num : arr) {
            current.next = new ListNode(num);
            current = current.next;
        }
        return dummy.next;
    }
    public static ListNode removeZeroSumSublists(ListNode head) {
        Map<Integer, ListNode> prefixMap = new HashMap<>();
        ListNode dummy = new ListNode(0);
        dummy.next = head;
        int prefixSum = 0;
        ListNode current = dummy;
        while (current != null) {
            prefixSum += current.val;
            prefixMap.put(prefixSum, current);
            current = current.next;
        }
        prefixSum = 0;
        current = dummy;
        while (current != null) {
            prefixSum += current.val;
            ListNode node = prefixMap.get(prefixSum);
            if (node != current) {
                current.next = node.next;
            }
            current = current.next;
        }
        return dummy.next;
    }
    public static void printLinkedList(ListNode head) {
        if (head == null) {
            System.out.println("-1");
            return;
        }
        ListNode current = head;
        boolean hasOutput = false;
        while (current != null) {
            System.out.print(current.val + " ");
            current = current.next;
            hasOutput = true;
        }
        if (!hasOutput) {
            System.out.println("-1");
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        try {
            int n = Integer.parseInt(sc.nextLine().trim());
            String[] elements = sc.nextLine().trim().split("\s+");
            if (elements.length != n) {
                System.out.println("Invalid input");
                return;
            }
            int[] nums = new int[n];
            for (int i = 0; i < n; i++) {
                try {
                    nums[i] = Integer.parseInt(elements[i]);
                } catch (NumberFormatException e){
                    System.out.println("Invalid input");
                return;
                }
                }
                ListNode original = buildLinkedList(nums);
                ListNode modified = removeZeroSumSublists(original);
                List<Integer> inputList = new ArrayList<>();
                for (int num : nums) inputList.add(num);
                List<Integer> outputList = new ArrayList<>();
                ListNode temp = modified;
                while (temp != null) {
                    outputList.add(temp.val);
                    temp = temp.next;
                }
                if (inputList.equals(outputList)) {
                    System.out.println("-1");
                } else {
                    for (int val : outputList) {
                        System.out.print(val + " ");
                    }
                }
    } catch (Exception e) {
        System.out.println("Invalid input");
    }
}
}