fun main(args:Array) { val n = readLine()!!.toInt() val x = readLine()!!.toInt() val a = readLine()!!.toInt() val b = readLine()!!.toInt() // 通常攻撃での減産 val normal = Math.ceil(x.toDouble() / a).toInt() // 補数 val xb = java.lang.Integer.toBinaryString(x) val bb = java.lang.Integer.toBinaryString(b) var sum = xb.toInt(2) var result = 0 for( i in (1..normal+1)) { sum += bb.toInt(2) val sumstr = java.lang.Integer.toBinaryString(sum).padStart(n, '0') //println(sumstr) if( sumstr[0] == '1' ) { result = i break } } val output = listOf(normal, result).min() println(output) }