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.

Constraints

* 2≤A,B,C≤10^9

Input

The input is given from Standard Input in the following format:


A B C


Output

Print the minimum possible difference between the number of red blocks and the number of blue blocks.

Examples

Input

3 3 3


Output

9


Input

2 2 4


Output

0


Input

5 3 5


Output

15
    import java.util.*;
     
    public class Main{
        public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        long a[] = new long[3];
    long t;
        for(int i=0;i<3;i++)
        {
              a[i] = sc.nextLong();
              if(a[i]%2==0)
              {
                 System.out.print("0");
                  System.exit(0);
              };
       };
      if(a[0]>=a[2] && a[0]>=a[1])
      {
           System.out.print(a[2]*a[1]);
      }else if(a[1]>=a[2] && a[0]<=a[1])
       System.out.print(a[0]*a[2]);
       else
        System.out.print(a[0]*a[1]);
     
    }
     
     
     
    }