d = gets.chomp.to_i left = -1 right = 10 ** 18 min = 10 ** 18 while right - left > 1 mid = (left+right)/2 x = mid.dup if x < d ok = true dist = x #print "xは" + "#{x}" + " " + "dは" + "#{d}" + "\n" until mid == 0 mid = mid / 2 dist += mid if dist == d min = [min,x].min #ok = true elsif dist > d ok = false break end #p dist end elsif x == d min = [min,x].min ok = true else ok = false end if ok == false right = x else left = x end # puts "\\" # p min # p right # p left # p ok # print "xは" + "#{x}" + " " + "dは" + "#{d}" + "\n" # puts "----" end puts min