There is an infinite grid and an *M* × *N* rectangle of stones on it (1 ≤ *M*, *N* ≤ 10000). The stones are located in the knots of the grid.

A following game for a single player is being played. One stone can jump over another along a vertical or a horizontal line. A stone which had been overjumped is taken away. The purpose of the game is to minimize number of stones on a
grid.

Given a pair of numbers *M* and *N* separated with one space you are to write a program which should determine a minimal number of the stones left on the grid.

### Input

Numbers *M* and *N* separated by space.

### Output

The minimal number of the stones left on the grid.

### Sample

**Problem Author: **Stanislav Vasilyev

**Problem Source: **Ural State University collegiate programming contest (25.03.2000)