Збирання жуків
Іван захоплюється колекціонуванням. На відміну від інших людей, які збирають поштові марки, монети або інші матеріальні речі, він збирає програмні помилки. Коли Іван отримує нову програму, він класифікує всі можливі помилки на ( n ) категорій. Щодня він виявляє рівно одну помилку в програмі та додає інформацію про неї та її категорію в електронну таблицю. Коли він знаходить помилки у всіх категоріях, він називає програму огидною, публікує цю таблицю на своїй домашній сторінці та повністю забуває про програму.
Дві компанії, Macrosoft та Microhard, знаходяться в жорсткій конкуренції. Microhard хоче зменшити продажі однієї програми Macrosoft. Вони наймають Івана, щоб довести, що програма є огидною. Однак у Івана виникає складна проблема. Ця нова програма має ( s ) підсистем, і знаходження помилок усіх типів у кожній підсистемі займе занадто багато часу, перш ніж можна буде досягти мети. Тому Іван і Microhard домовилися використовувати простіший критерій — Іван повинен знайти принаймні одну помилку в кожній підсистемі та принаймні одну помилку кожної категорії.
Macrosoft знає про ці плани і хоче оцінити час, необхідний для того, щоб Іван назвав її програму огидною. Це важливо, оскільки компанія незабаром випустить нову версію, щоб вона могла скоригувати свої плани та випустити її швидше. Ніхто не буде зацікавлений в думці Івана про надійність застарілої версії.
Помилка, знайдена в програмі, може належати до будь-якої категорії з однаковою ймовірністю. Аналогічно, помилка може бути знайдена в будь-якій даній підсистемі з однаковою ймовірністю. Будь-яка конкретна помилка не може належати до двох різних категорій або траплятися одночасно в двох різних підсистемах. Кількість помилок у програмі майже нескінченна, тому ймовірність знайти нову помилку якоїсь категорії в якійсь підсистемі не зменшується після знаходження будь-якої кількості помилок цієї категорії в цій підсистемі.
Знайдіть середній час (у днях роботи Івана), необхідний для того, щоб назвати програму огидною.
Вхідні дані
Вхід містить два цілі числа, ( n ) та ( s ) (( 0 < n, s 1000 )).
Вихідні дані
Виведіть очікування днів роботи Івана, необхідних для того, щоб назвати програму огидною, з точністю до 4 знаків після коми.