Diagonal Cut
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述


Quido and Hugo are making a chocolate cake. The central ingredient of the cake is a large chocolate bar, lying unwrapped on the kitchen table. The bar is an  rectangular grid of chocolate blocks. All of the  blocks are rectangles of identical shape and size. The chocolate bar is of top quality and the friends want to eat part of it, before the rest is used in the cake.

"OK," says Quido, "let's divide the whole bar into two triangular chunks by a straight diagonal cut from its upper-left corner to its lower-right corner. We will then eat all of the blocks which have been cut exactly in half, into two equal-area pieces. You will eat one half and I will eat the other half of each such block. All other blocks, that is, the blocks which are either uncut or cut into two parts of different sizes, will go directly into the cake. Of course, we will make sure the cut is perfectly precise.

Let's see how much chocolate we get to eat!"

输入描述:

The input consists of two space-separated integers  and  given on a single line, (where ). The numbers  and  denote the number of blocks in one column and in one row, respectively, in the chocolate bar.

输出描述:

Print the number of blocks of the chocolate bar which are cut into exactly two pieces of equal area.
示例1

输入

复制
6 10

输出

复制
2
示例2

输入

复制
75206452536745713 10322579177493903

输出

复制
40318322589