using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); public static void Main() { Solve(); } static void Solve() { var n = NN; var p = double.Parse(ReadLine()); var q = double.Parse(ReadLine()); var len = new double[n * 2 + 1]; len[0] = 1; for (var u = 0; u < 100000; ++u) { var nlen = new double[n * 2 + 1]; nlen[n] = len[n]; nlen[n + 1] = len[n + 1]; for (var i = 0; i < n; ++i) { nlen[i + 1] += len[i] * q; nlen[i + n + 1] += len[i] * p; if (i > 0) { nlen[i + n] += len[i + n + 1] * q; nlen[i] += len[i + n + 1] * p; } } len = nlen; } var ans = len[n + 1]; for (var i = 0; i < len.Length; ++i) { if (i == n || i == n + 1) continue; ans += len[i] * len[n + 1] / (len[n] + len[n + 1]); } WriteLine(ans); } }