using System; using System.Collections.Generic; using System.Linq; using System.Text; using static System.Console; using static System.Math; namespace AtTest.yukicoder { class _813 { static void Main(string[] args) { Method(args); } static void Method(string[] args) { int n = ReadInt(); double p = ReadDouble(); double q = ReadDouble(); if (p == 1) { WriteLine(1); return; } if (q == 1) { WriteLine(0); return; } double back = p; double go=q; for(int i = 1; i < n; i++) { back = back + p * go * go / (1 - back * p); go = go * q / (1 - back * p); } WriteLine(back); } private static string Read() { return ReadLine(); } private static char[] ReadChars() { return Array.ConvertAll(Read().Split(), a => a[0]); } private static int ReadInt() { return int.Parse(Read()); } private static long ReadLong() { return long.Parse(Read()); } private static double ReadDouble() { return double.Parse(Read()); } private static int[] ReadInts() { return Array.ConvertAll(Read().Split(), int.Parse); } private static long[] ReadLongs() { return Array.ConvertAll(Read().Split(), long.Parse); } private static double[] ReadDoubles() { return Array.ConvertAll(Read().Split(), double.Parse); } } }