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.*;
import java.lang.*;

import static java.lang.StrictMath.abs;

class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        long min = 0;
        long min2=0;
        long max =0;
        long ans =0;
//        どれかが偶数ならば、０
//        全部奇数ならば、小さいやつ２つの積
        if(a%2==1 && b%2==1 && c%2 == 1){
            min =Math.min(a,b);
            max =Math.max(a,b);
            min2 = Math.min(max, c);
            ans = min* min2;
            System.out.println(ans);
        }else{
            System.out.println(0);
        }





    }
}
