During the recent excavations in Teotihuacan archeologists found a strange casket, the contents of which was probably used during the legendary corbans held by Montezuma, and a lot of equal rectangular bone pieces of size 1 × 2.

Archeologists found out that in order to open the casket you should tile the rectangular covering of this casket with bone pieces in a specific way. Pieces cannot overlap and intersect the border of the covering. Archeologists are afraid to break the casket, so they just want to try all possible ways of tiling. Your task is to calculate the number of such ways.

### Input

The only line of the input contains two space-separated integers *l* and *w*, the length and the width of the casket's covering (1 ≤ *l*, *w* ≤ 100).

### Output

Output the number of ways of tiling modulo 10^{9} + 7.

### Sample

**Problem Author: **Igor Chevdar

**Problem Source: **Ural SU Contest. Petrozavodsk Winter Session, February 2009