using System; using System.IO; using System.Linq; using System.Collections.Generic; using System.Text; public class Program { public void Proc() { int keta = int.Parse(Reader.ReadLine()); long max = Convert.ToInt64("1".PadRight(keta, '0'), 2); long hp = long.Parse(Reader.ReadLine()); long kougeki = long.Parse(Reader.ReadLine()); long kaihuku = long.Parse(Reader.ReadLine()); long ans = hp / kougeki; if(hp%kougeki!=0) { ans++; } long ans2 = (max - hp) / kaihuku; if((max-hp)%kaihuku!=0) { ans2++; } ans = Math.Min(ans, ans2); Console.WriteLine(ans); } public class Reader { private static StringReader sr; public static bool IsDebug = false; public static string ReadLine() { if (IsDebug) { if (sr == null) { sr = new StringReader(InputText.Trim()); } return sr.ReadLine(); } else { return Console.ReadLine(); } } private static string InputText = @" 26 16777221 20 20 "; } public static void Main(string[] args) { #if DEBUG Reader.IsDebug = true; #endif Program prg = new Program(); prg.Proc(); } }