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 PHP7 (7.0.15) (judge verdict: Wrong Answer)

<?php
  $stdin = fopen('php://stdin', "r");

  fscanf($stdin, "%d %d %d", $a, $b, $c);

  $r = [$a, $b, $c];
  sort($r);

  while (true) {
    $min = $r[0];
    $mid = $r[1];
    $max = $r[2];

    // maxになるまで、minとmiddleに1を足す。
    $sub = $max-$mid;
    $count += $sub;

    $min += $sub;
    $mid += $sub;

    if ($sub == 0) {
      $min ++;
      $max ++;
      $count ++;
    }

    // maxを超えないように、minとmiddleに2を足す
    $n = $max-$min;

    $sub = (int)($n/2);
    $min += $sub*2;
    $count += $sub;

    if ($min==$max && $min==$mid) {
      echo $count.PHP_EOL;
      break;
    }

    $r = [$min, $mid, $max];
  }