CF852B Neural Network country
Description
Due to the recent popularity of the Deep learning new countries are starting to look like Neural Networks. That is, the countries are being built deep with many layers, each layer possibly having many cities. They also have one entry, and one exit point.
There are exactly $ L $ layers, each having $ N $ cities. Let us look at the two adjacent layers $ L_{1} $ and $ L_{2} $ . Each city from the layer $ L_{1} $ is connected to each city from the layer $ L_{2} $ with the traveling cost $ c_{ij} $ for , and each pair of adjacent layers has the same cost in between their cities as any other pair (they just stacked the same layers, as usual). Also, the traveling costs to each city from the layer $ L_{2} $ are same for all cities in the $ L_{1} $ , that is $ c_{ij} $ is the same for , and fixed $ j $ .
Doctor G. needs to speed up his computations for this country so he asks you to find the number of paths he can take from entry to exit point such that his traveling cost is divisible by given number $ M $ .
Input Format
The first line of input contains $ N\ (1
Output Format
Output a single integer, the number of paths Doctor G. can take which have total cost divisible by $ M $ , modulo $ 10^{9}+7 $ .
Explanation/Hint

This is a country with $ 3 $ layers, each layer having $ 2 $ cities. Paths , and  are the only paths having total cost divisible by $ 13 $ . Notice that input edges for layer cities have the same cost, and that they are same for all layers.