Problem: You are given a grid, consisting of rows and columns. Each cell of this grid should be colored either black or white.
Two cells are considered neighbours if they have a common border and share the same color. Two cells and belong to the same component if they are neighbours, or if there is a neighbour of that belongs to the same component with .
Let's call some bicoloring beautiful if it has exactly components.
Count the number of beautiful bicolorings. The number can be big enough, so print the answer modulo .
Input Format: The only line contains two integers and (, ) — the number of columns in a grid and the number of components required.
Output Format: Print a single integer — the number of beautiful bicolorings modulo .
Note: One of possible bicolorings in sample :