output_description: Print the minimum possible difference between the number of red blocks and the
  number of blue blocks.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      A B C
attempt: import math
  
  A, B, C = map(int, input().split())
  
  # A-B Partern
  base1 = A * B
  part1_a = math.ceil(C / 2)
  part1_b = C - part1_a
  ans1 = abs((base1 * part1_a) - (base1 * part1_b))
  
  # A-C Partern
  base2 = A * C
  part2_a = math.ceil(B / 2)
  part2_b = B - part2_a
  ans2 = abs((base2 * part2_a) - (base2 * part2_b))
  
  # B-C Partern
  base3 = B * C
  part3_a = math.ceil(A / 2)
  part3_b = A - part3_a
  ans3 = abs((base3 * part3_a) - (base3 * part3_b))
  
  print(min(ans1, ans2, ans3))
  
problem_description: Statement
  
  We have a rectangular parallelepiped of size A×B×C, built with blocks of size
  1×1×1. Snuke will paint each of the A×B×C blocks either red or blue, so that:
  
    * There is at least one red block and at least one blue block.
    * The union of all red blocks forms a rectangular parallelepiped.
    * The union of all blue blocks forms a rectangular parallelepiped.
  
  Snuke wants to minimize the difference between the number of red blocks and
  the number of blue blocks. Find the minimum possible difference.
samples: [{"input": "3 3 3", "output": "9\n    \n\nFor example, Snuke can paint the blocks as shown in the diagram below. There\nare 9 red blocks and 18 blue blocks, thus the difference is 9.\n\n![](/img/agc/004/gatbantar/A_1.png)\n\n* * *"}, {"input": "2 2 4", "output": "0\n    \n\nFor example, Snuke can paint the blocks as shown in the diagram below. There\nare 8 red blocks and 8 blue blocks, thus the difference is 0.\n\n![](/img/agc/004/gatbantar/A_2.png)\n\n* * *"}, {"input": "5 3 5", "output": "15\n    \n\nFor example, Snuke can paint the blocks as shown in the diagram below. There\nare 45 red blocks and 30 blue blocks, thus the difference is 9.\n\n![](/img/agc/004/gatbantar/A_3.png)"}]