// Arup Guha
// 11/17/2015
// Solution to 2015 SER D1 Problem: Weightlifting

import java.util.*;

public class weightlifting {

	// Useful constants.
	final public static int MAX = 1000000000;
	final public static double RANGE1 = 225.0;
	final public static double RANGE2 = 200.0;

	public static void main(String[] args) {

		// Read in input.
		Scanner stdin = new Scanner(System.in);
		int energy = stdin.nextInt();
		int eSuccess = stdin.nextInt();
		int eFailure = stdin.nextInt();

		// dp[i] stores the number of positions in the binary tree induced by having a decision tree rooted
		// with i energy points left.
		int[] dp = new int[energy+1];
		Arrays.fill(dp, MAX);
		dp[0] = 1;

		// To get dp[i], just add the number of nodes for the left (failure) and right (success).
		for (int i=1; i<=energy; i++) {
			dp[i] = dp[Math.max(i-eSuccess,0)] + dp[Math.max(i-eFailure,0)];

			// The answer is 0 for anything beyond MAX and this is an increasing function, so we are good.
			if (dp[i] > MAX) break;
		}

		// Just try two options, a decision tree with 25 (dp[energy]-1), or one without (corresponds to RANGE1).
		System.out.printf("%.6f\n", Math.min(RANGE1/dp[energy], RANGE2/(dp[energy]-1)));
	}
}
