CF509F Progress Monitoring
Description
Programming teacher Dmitry Olegovich is going to propose the following task for one of his tests for students:
You are given a tree $ T $ with $ n $ vertices, specified by its adjacency matrix $ a[1...\ n,1...\ n] $ . What is the output of the following pseudocode?
`
used[1 ... n] = {0, ..., 0};
procedure dfs(v):
print v;
used[v] = 1;
for i = 1, 2, ..., n:
if (a[v][i] == 1 and used[i] == 0):
dfs(i);
dfs(1);
`In order to simplify the test results checking procedure, Dmitry Olegovich decided to create a tree $ T $ such that the result is his favorite sequence $ b $ . On the other hand, Dmitry Olegovich doesn't want to provide students with same trees as input, otherwise they might cheat. That's why Dmitry Olegovich is trying to find out the number of different trees $ T $ such that the result of running the above pseudocode with $ T $ as input is exactly the sequence $ b $ . Can you help him? Two trees with $ n $ vertices are called different if their adjacency matrices $ a_{1} $ and $ a_{2} $ are different, i. e. there exists a pair $ (i,j) $ , such that $ 1
used[1 ... n] = {0, ..., 0};
procedure dfs(v):
print v;
used[v] = 1;
for i = 1, 2, ..., n:
if (a[v][i] == 1 and used[i] == 0):
dfs(i);
dfs(1);
`In order to simplify the test results checking procedure, Dmitry Olegovich decided to create a tree $ T $ such that the result is his favorite sequence $ b $ . On the other hand, Dmitry Olegovich doesn't want to provide students with same trees as input, otherwise they might cheat. That's why Dmitry Olegovich is trying to find out the number of different trees $ T $ such that the result of running the above pseudocode with $ T $ as input is exactly the sequence $ b $ . Can you help him? Two trees with $ n $ vertices are called different if their adjacency matrices $ a_{1} $ and $ a_{2} $ are different, i. e. there exists a pair $ (i,j) $ , such that $ 1
Input Format
The first line contains the positive integer $ n $ ( $ 1
Output Format
Output the number of trees satisfying the conditions above modulo $ 10^{9}+7 $ .