Restoring Three Numbers (Codeforces 1154A)
Tags: Math, math

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 \le x_i \le 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.


Sample Inputs:
3 6 5 4

40 40 40 60

201 101 101 200

Sample Outputs:
2 1 3

20 20 20

1 100 100

Solution (Python):
a = list(map(int, input().split()))
maks = 0

def biggest(data, maks):
    minus = []
    for i in data:
        if i >= maks:
            maks = i
        else:
            continue
    for i in data:
        if i != maks:
            minus.append(i)
        else:
            continue
    for i in minus:
        print(maks - i, end=' ')
biggest(a, maks)

Solution (Python):
a = list(map(int, input().split()))
maks = 0

def biggest(data, maks):
    minus = []
    for i in data:
        if i >= maks:
            maks = i
        else:
            continue
    for i in data:
        if i != maks:
            minus.append(i)
        else:
            continue
    for i in minus:
        print(maks - i, end=' ')
biggest(a, maks)

Solution (Python):
(x, y, z, q) = sorted(map(int, input().split()))
print(q - z, q - y, q - x)