Задачі
Довільне тасування
Довільне тасування
Довільне тасування чисел масиву \textbf{А} відбувається згідно наступного алгоритму:
\textbf{n} = довжина масиву \textbf{А} for \textbf{i} = \textbf{1} to \textbf{n} згенерувати довільне число \textbf{r} між \textbf{1} та \textbf{n} включно поміняти місцями \textbf{A\[i\]} та \textbf{A\[r\]} Обчислити ймовірність того, що заданий масив чисел отримано в результаті виконання операції довільного тасування набору \{\textbf{1}, \textbf{2}, …, \textbf{n}\}. Тут \textbf{n} дорівнює кількості елементів вхідного масиву.
\InputFile
Кожний рядок є окремим тестом і містить значення \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{10}), за яким йдуть елементи масиву \textbf{А} - перестановка чисел від \textbf{1} до \textbf{n}.
\OutputFile
Для кожного тесту в окремому рядку вивести з \textbf{8} цифрами після десяткової коми ймовірність того, що вхідний масив отримано в результаті виконання операції довільного тасування набору \{\textbf{1}, \textbf{2}, …, \textbf{n}\}\textbf{.}
Вхідні дані #1
1 1 2 1 2 5 4 2 5 1 3
Вихідні дані #1
1.00000000 0.50000000 0.00672000