Генератор мап
Сюжет нової комп'ютерної гри "Битви в Космосі: Об'єднання" (BSU) розгортається в далекому майбутньому. Людство розселилося на N планетах, які ворогують між собою. Гравець виступає в ролі лідера однієї з цих планет. Використовуючи дипломатію та військову міць, гравець повинен захопити інші планети, щоб об'єднати людство.
Для переміщення між планетами використовуються спеціальні гіперпросторові тунелі. Кожен тунель з'єднує дві планети і може використовуватися в обох напрямках. Дві планети не можуть бути з'єднані більше ніж одним тунелем. Сукупність усіх тунелів, що з'єднують планети, називається картою гри.
Наразі розробники BSU працюють над генератором карт гри. Вони вирішили використовувати спеціальний алгоритм під назвою "Тонка Штучна Модель Інтелекту" (FAMI) для цієї мети. Алгоритм працює наступним чином. Для кожної пари планет i і j (1 ≤ i < j ≤ N) генерується випадкове дійсне число X_ij (0 ≤ X_ij ≤ 1). Для генерації випадкових чисел використовується рівномірний розподіл, і числа X_ij генеруються незалежно. Далі, якщо X_ij ≤ P, де параметр P є дійсним числом, то гіперпросторовий тунель, що з'єднує планети i і j, додається до карти, що генерується.
Розробники прагнуть, щоб генератор карт створював зв'язані карти. Карта вважається зв'язаною, якщо між будь-якою парою планет існує шлях, що складається з одного або більше гіперпросторових тунелів. На жаль, виявляється, що карти, згенеровані алгоритмом FAMI, іноді не є зв'язаними. Вам доручено дослідити це явище.
Вам потрібно написати програму, яка, отримавши числа N і P, обчислює ймовірність генерації зв'язаної карти алгоритмом FAMI.
Вхідні дані
Вхідний файл складається з двох рядків. Перший рядок містить ціле число N (1 ≤ N ≤ 20), тоді як другий рядок містить дійсне число P (0 ≤ P ≤ 1).
Вихідні дані
Вихідний файл повинен містити відповідь - одне дійсне число, яке є ймовірністю генерації зв'язаної карти алгоритмом FAMI. Абсолютна похибка відповіді не повинна перевищувати 10^{-2}.