CF305D Olya and Graph

Description

Olya has got a directed non-weighted graph, consisting of $ n $ vertexes and $ m $ edges. We will consider that the graph vertexes are indexed from 1 to $ n $ in some manner. Then for any graph edge that goes from vertex $ v $ to vertex $ u $ the following inequation holds: $ v<u $ . Now Olya wonders, how many ways there are to add an arbitrary (possibly zero) number of edges to the graph so as the following conditions were met: 1. You can reach vertexes number $ i+1,i+2,...,n $ from any vertex number $ i $ $ (i<n) $ . 2. For any graph edge going from vertex $ v $ to vertex $ u $ the following inequation fulfills: $ v<u $ . 3. There is at most one edge between any two vertexes. 4. The shortest distance between the pair of vertexes $ i,j $ $ (i<j) $ , for which $ j-i

Input Format

The first line contains three space-separated integers $ n,m,k $ $ (2

Output Format

Print a single integer — the answer to the problem modulo $ 1000000007 $ $ (10^{9}+7) $ .

Explanation/Hint

In the first sample there are two ways: the first way is not to add anything, the second way is to add a single edge from vertex $ 2 $ to vertex $ 5 $ .