CF535D Tavas and Malekas

Description

Tavas is a strange creature. Usually "zzz" comes out of people's mouth while sleeping, but string $ s $ of length $ n $ comes out from Tavas' mouth instead. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF535D/edec2eae8d180d77009c457fa18d1007b3d9ea05.png)Today Tavas fell asleep in Malekas' place. While he was sleeping, Malekas did a little process on $ s $ . Malekas has a favorite string $ p $ . He determined all positions $ x_{1}<x_{2}<...<x_{k} $ where $ p $ matches $ s $ . More formally, for each $ x_{i} $ ( $ 1

Input Format

The first line contains two integers $ n $ and $ m $ , the length of $ s $ and the length of the subsequence Malekas wrote down ( $ 1

Output Format

In a single line print the answer modulo $ 1000000007 $ .

Explanation/Hint

In the first sample test all strings of form "ioioi?" where the question mark replaces arbitrary English letter satisfy. Here $ |x| $ denotes the length of string x. Please note that it's possible that there is no such string (answer is 0).