CF1854C Expected Destruction
Description
You have a set $ S $ of $ n $ distinct integers between $ 1 $ and $ m $ .
Each second you do the following steps:
1. Pick an element $ x $ in $ S $ uniformly at random.
2. Remove $ x $ from $ S $ .
3. If $ x+1 \leq m $ and $ x+1 $ is not in $ S $ , add $ x+1 $ to $ S $ .
What is the expected number of seconds until $ S $ is empty?
Output the answer modulo $ 1\,000\,000\,007 $ .
Formally, let $ P = 1\,000\,000\,007 $ . It can be shown that the answer can be expressed as an irreducible fraction $ \frac{a}{b} $ , where $ a $ and $ b $ are integers and $ b \not \equiv 0 \pmod{P} $ . Output the integer equal to $ a \cdot b^{-1} \bmod P $ . In other words, output an integer $ z $ such that $ 0 \le z < P $ and $ z \cdot b \equiv a \pmod{P} $ .
Input Format
The first line contains two integers $ n $ and $ m $ ( $ 1 \leq n \leq m \leq 500 $ ) — the number of elements in the set $ S $ and the upper bound on the value of the elements in $ S $ .
The second line contains $ n $ integers $ S_1,\,S_2,\,\dots,\,S_n $ ( $ 1 \leq S_1 < S_2 < \ldots < S_n \leq m $ ) — the elements of the set $ S $ .
Output Format
Output a single integer — the expected number of seconds until $ S $ is empty, modulo $ 1\,000\,000\,007 $ .
Explanation/Hint
For test 1, here is a list of all the possible scenarios and their probabilities:
1. $ [1, 3] $ (50% chance) $ \to $ $ [1] $ $ \to $ $ [2] $ $ \to $ $ [3] $ $ \to $ $ [] $
2. $ [1, 3] $ (50% chance) $ \to $ $ [2, 3] $ (50% chance) $ \to $ $ [2] $ $ \to $ $ [3] $ $ \to $ $ [] $
3. $ [1, 3] $ (50% chance) $ \to $ $ [2, 3] $ (50% chance) $ \to $ $ [3] $ $ \to $ $ [] $
Adding them up, we get $ \frac{1}{2}\cdot 4 + \frac{1}{4} \cdot 4 + \frac{1}{4} \cdot 3 = \frac{15}{4} $ . We see that $ 750000009 \cdot 4 \equiv 15 \pmod{1\,000\,000\,007} $ .