```
time limit per test : 2 seconds
memory limit per test : 256 megabytes
input : standard input
output : standard output
```

You are given a rectangular board of *M* × *N* squares. Also you are given an unlimited number of standard domino pieces of 2 × 1 squares. You are allowed to rotate the pieces. You are asked to place as many dominoes as possible on the board so as to meet the following conditions:

- Each domino completely covers two squares.
- No two dominoes overlap.
- Each domino lies entirely inside the board. It is allowed to touch the edges of the board.
- Find the maximum number of dominoes, which can be placed under these restrictions.

**Input :** In a single line you are given two integers *M* and *N* — board sizes in squares (1 ≤ *M* ≤ *N* ≤ 16).

**Output :** Output one number — the maximal number of dominoes, which can be placed.

**Analysis : **

**Suppose there’s $2 \times 4$ domino tilling on that floor. **

**Suppose there’s $3 \times 3$ domino tilling on that floor. The dominoes required to fill that tiles are 4 dominoes **

```
#include <bits/stdc++.h>
using namespace std;
int M,N;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cin>>M>>N;
cout<<(M*N)/2;
return 0;
}
```