As spring arrives, Majid plans to beautify his backyard by planting flowers. To achieve this, he has divided his backyard into an grid and has decided to plant red or blue roses in each cell. Majid has a keen eye for colour combinations and wants to ensure that each cells has at most one neighboring cell of the same color. Two cells are considered adjacent if they share at least one side. Given m and , calculate the number of desired ways to arrange the flowers in the grid for Majid. For example, if the dimensions of the grid are , there are possible ways to arrange the flowers in the grid as shown below:
The first line of the input consists of two integers and separated by a space, which is the number of rows and the number of columns, respectively.
Print a single line containing the number of desired ways to plant the flowers. Since this number can be very large, print its remainder modulo .