CF235D Graph Game

Description

In computer science, there is a method called "Divide And Conquer By Node" to solve some hard problems about paths on a tree. Let's desribe how this method works by function: $ solve(t) $ ( $ t $ is a tree): 1. Chose a node $ x $ (it's common to chose weight-center) in tree $ t $ . Let's call this step "Line A". 2. Deal with all paths that pass $ x $ . 3. Then delete $ x $ from tree $ t $ . 4. After that $ t $ becomes some subtrees. 5. Apply $ solve $ on each subtree. This ends when $ t $ has only one node because after deleting it, there's nothing. Now, WJMZBMR has mistakenly believed that it's ok to chose any node in "Line A". So he'll chose a node at random. To make the situation worse, he thinks a "tree" should have the same number of edges and nodes! So this procedure becomes like that. Let's define the variable $ totalCost $ . Initially the value of $ totalCost $ equal to $ 0 $ . So, $ solve(t) $ (now $ t $ is a graph): 1. $ totalCost=totalCost+(size of t) $ . The operation "=" means assignment. $ (Size of t) $ means the number of nodes in $ t $ . 2. Choose a node $ x $ in graph $ t $ at random (uniformly among all nodes of $ t $ ). 3. Then delete $ x $ from graph $ t $ . 4. After that $ t $ becomes some connected components. 5. Apply $ solve $ on each component. He'll apply $ solve $ on a connected graph with $ n $ nodes and $ n $ edges. He thinks it will work quickly, but it's very slow. So he wants to know the expectation of $ totalCost $ of this procedure. Can you help him?

Input Format

The first line contains an integer $ n $ ( $ 3

Output Format

Print a single real number — the expectation of $ totalCost $ . Your answer will be considered correct if its absolute or relative error does not exceed $ 10^{-6} $ .

Explanation/Hint

Consider the second example. No matter what we choose first, the $ totalCost $ will always be $ 3+2+1=6 $ .