Problem: Polycarp has guessed three positive integers a, b and c. He keeps these numbers in secret, but he writes down four numbers on a board in arbitrary order — their pairwise sums (three numbers) and sum of all three numbers (one number). So, there are four numbers on a board in random order: a+b, a+c, b+c and a+b+c.

You have to guess three numbers a, b and c using given numbers. Print three guessed integers in any order.

Pay attention that some given numbers a, b and c can be equal (it is also possible that a=b=c).

Input

The only line of the input contains four positive integers x_1, x_2, x_3, x_4 (2 ≤ x_i ≤ 10^9) — numbers written on a board in random order. It is guaranteed that the answer exists for the given number x_1, x_2, x_3, x_4.

Output

Print such positive integers a, b and c that four numbers written on a board are values a+b, a+c, b+c and a+b+c written in some order. Print a, b and c in any order. If there are several answers, you can print any. It is guaranteed that the answer exists.

Examples

Input


3 6 5 4


Output


2 1 3


Input


40 40 40 60


Output


20 20 20


Input


201 101 101 200


Output


1 100 100

Solution (in PYTHON3):

Solution:
"""
A. Восстановление трех чисел
ограничение по времени на тест1 секунда
ограничение по памяти на тест256 мегабайт
вводстандартный ввод
выводстандартный вывод
Поликарп загадал три целых положительных числа a, b и c. Эти числа он держит в секрете, но он выписал на доску в
случайном порядке четыре числа — их попарные суммы (три числа) и сумму всех трех чисел (одно число).
Таким образом, на доске в случайном порядке записаны четыре числа: a+b, a+c, b+c и a+b+c.

По заданным числам восстановите три загаданных Поликарпом числа a, b и c. Выведите три загаданные числа в любом порядке.

Обратите внимание, что среди загаданных чисел a, b и c могут быть одинаковые значения (в том числе допустимо, что a=b=c)

Входные данные
В единственной строке входных данных записаны четыре целых положительных числа x1,x2,x3,x4 (2≤xi≤109) — числа на доске,
заданные в случайном порядке. Гарантируется, что для заданных чисел x1,x2,x3,x4 ответ существует.

Выходные данные
Выведите такие целые положительные a, b и c, что четыре числа на доске — это записанные в некотором порядке значения
a+b, a+c, b+c и a+b+c. Выведите a, b и c в любом порядке. Если ответов несколько, то выведите любой из них.
Гарантируется, что ответ существует.

Примеры
входные данные
3 6 5 4
выходные данные
2 1 3

входные данные
40 40 40 60
выходные данные
20 20 20

входные данные
201 101 101 200
выходные данные
1 100 100
"""


def get_numbers(arr):
    arr.sort()
    return arr[3]-arr[2], arr[3]-arr[1], arr[3]-arr[0]


n1, n2, n3, n4 = tuple(map(int, input().split()))
print(*get_numbers([n1, n2, n3, n4]))