Royal Gems

Time Limit: 5 Seconds    Memory Limit: 65536 KB

In the game of Royal Gems, you are given an n × m board and arbitrarily large number of ruby, emerald, sapphire, and diamond gemstones. You must put one gemstone in each cell of the board according to the following rules:

1) Every ruby has an emerald, a sapphire and a diamond in his neighbors.
2) Every emerald has a sapphire and a diamond in her neighbors.
3) Every sapphire has a diamond in his neighbors.

A neighbor of a cell is one of the four cells that are directly above, below, left, or right of the cells. Write a program that finds the maximum number of ruby gemstones that could be put on the board satisfying the above rules.

Input

There are multiple test cases in the input. Each test case consists of n (1 < n < 8) and m (1 < m < 8). The input terminates with a line containing 0 0.

Output

For each test case, write a single line containing the maximum number of ruby gemstones on the board. 

Sample Input

2 2 
2 3 
3 3 
0 0 

Sample Output

0 
1 
2 
Submit

Source: Tehran, Asia Region - Regional 2008