import sequtils, strutils, algorithm, math, future, sets, tables, hashes, intsets let read = iterator : string {.closure.} = (while true: (for s in stdin.readLine.split : yield s)) var x,y,h = read().parsefloat maxv = int.low h = h / 1000 proc isok(mid: int): bool = for k in 0 .. mid: var a = x / (2.0 ^ k) b = y / (2.0 ^ (mid - k)) vh = h * (2.0 ^ mid) if a * 2.0 > vh / 2.0 and b * 2.0 > h * 2.0 ^ (mid - k) / 2.0: return true if b * 2.0 > vh / 2.0 and a * 2.0 > h * 2.0 ^ (k) / 2.0 : return true var ng = 41 ok = 0 while abs(ok - ng) > 1: var mid = (ok + ng) div 2 if isok(mid): ok = mid else: ng = mid echo ok