proc getchar_unlocked():char {. importc:"getchar_unlocked",header: "" .} proc scan(): int = while true: let k = getchar_unlocked() if k < '0': break result = 10 * result + k.ord - '0'.ord var a = scan() var b = scan() var s = scan() var ans = 0 while s != 0: # echo [a,b,s,ans] if s == 1 or abs(s-a) <= abs(s-b) : ans += abs(s-a) + s break if b > a : # Aの階へ下る ans += abs(s-b) + 1 s -= 1 b = s else: # 中間:abs(s-a) == abs(s-b)へ登る ans += abs(s-b) + 1 s += 1 b = s echo ans