using System; using static System.Console; using System.Linq; using System.Collections.Generic; using System.Globalization; class Program { static int NN => int.Parse(ReadLine()); static long[] NList => ReadLine().Split().Select(long.Parse).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (n, m) = (c[0], c[1]); var ng = ((decimal)Math.Sqrt(n) + 1000) * 100_000_000; var n2 = (decimal)n; for (var i = 0; i < 16; ++i) n2 *= 10; var ok = decimal.Zero; while (ng - ok > 1) { var mid = decimal.Floor((ng + ok) / 2); if (mid * mid <= n2) ok = mid; else ng = mid; } var rn = ok; ok = decimal.Ceiling((decimal)m * 5 / 2); ng = 0; while (ok - ng > 1) { var mid = decimal.Floor((ng + ok) / 2); if (mid * rn - mid * 100_000_000 >= m * 100_000_000) ok = mid; else ng = mid; } WriteLine(decimal.Floor(ok * rn / 100_000_000) - decimal.Floor((ok * rn - ok * 100_000_000 - m * 100_000_000) / 100_000_000) - 1); } }