Problem:
Score : 300 points

Problem Statement

You are given three integers A, B and C. Find the minimum number of operations required to make A, B and C all equal by repeatedly performing the following two kinds of operations in any order:

Choose two among A, B and C, then increase both by 1.

Choose one among A, B and C, then increase it by 2.

It can be proved that we can always make A, B and C all equal by repeatedly performing these operations.

Constraints

0 \leq A,B,C \leq 50

All values in input are integers.

Input

Input is given from Standard Input in the following format:

A B C

Output

Print the minimum number of operations required to make A, B and C all equal.

Sample Input 1

2 5 4

Sample Output 1

2

We can make A, B and C all equal by the following operations:

Increase A and C by 1. Now, A, B, C are 3, 5, 5, respectively.

Increase A by 2. Now, A, B, C are 5, 5, 5, respectively.

Sample Input 2

2 6 3

Sample Output 2

5

Sample Input 3

31 41 5

Sample Output 3

23

Solution in Python (3.4.3) (judge verdict: Wrong Answer)

m = list(map(int, input().split()))

l = sorted(m)
a = l[0]
b = l[1]
c = l[2]

if a == b and b ==c:
    print(0)
elif a == b <= c:
    print(abs(c - b))
elif a <= b == c:
    if (b-a)%2 ==0:
        print((b-a)//2)
    else:
        print((b-a)//2 + 2)
else:
    counter_1 = 0
    counter_2 = 0
    aa = a
    bb = b
    cc = c
    aaa = a
    bbb = b
    ccc = c
    
    while bb != cc:
        counter_1 = counter_1 + 1
        aa = aa + 1
        bb = bb + 1
    if (bb-aa)%2 ==0:
        counter_1 = counter_1 + (bb-aa)//2
    else:
        couter_1 = (bb-aa)//2 + 2 + counter_1
    
    while bbb <=ccc:
        counter_2 = counter_2 + 2
        bbb = bbb + 2
        aaa = aaa + 2
    if (bbb-aaa)%2 ==0:
        counter_2 = counter_2 + (bbb-aaa)//2
    else:
        couter_2 = (bbb-aaa)//2 + 2 + counter_2
    
    print(min(counter_1,counter_2))