fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) fun intPow (x, y) = let fun loop n = if n = 0 then 1 else x * loop (n - 1) in loop y end fun findAns i base limit = if limit < i * base then 0 else 1 + findAns (i + 1) base limit val () = let val n = readInt () val k = readInt () val ans = if k = 0 then intPow (2, n) else findAns 1 (intPow (2, k)) (intPow (2, n)) in print (Int.toString ans ^ "\n") end