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: Time Limit Exceeded)

<?php
//Request Question
function getq($get_word=null){
	if($get_word===null){
		return str_replace("\n","",fgets(STDIN));
	}else if($get_word===1){
		return explode(" ",str_replace("\n","",fgets(STDIN)));
	}
}

/*		START		*/
$ABC=getq(1);
sort($ABC);
$ans=array();
if($ABC[0]==$ABC[1]&&$ABC[0]==$ABC[2])echo "0\n";

for ($i=0; $i < 100; $i++) {
	for ($j=0; $j < 100; $j++) {
		$temp11=$ABC[0]+$i+$j*2;
		$temp12=$ABC[1]+$i;
		$temp21=$ABC[0]+$i;
		$temp22=$ABC[1]+$i+$j*2;
		for ($f=0; $f < 100; $f++) {
			for ($x=0; $x < 100; $x++) {
			if($temp11+$x+$f==$ABC[2]+$x+$f&&$ABC[2]+$x+$f==$temp12){
				array_push($ans,($i+$j+$x));
			}
			if($temp21==$ABC[2]+$x+$f&&$ABC[2]+$x+$f==$temp22+$x+$f){
				array_push($ans,($i+$j+$x));
			}
			if($temp11+$x==$ABC[2]+$x&&$ABC[2]+$x==$temp12){
				array_push($ans,($i+$j+$x));
			}
			if($temp21==$ABC[2]+$x&&$ABC[2]+$x==$temp22+$x){
				array_push($ans,($i+$j+$x));
			}
		}
		}
	}
}
echo min($ans)."\n";
?>