import sys
def get_upper(num):
res = list(num)
for i in range(len(res)):
if int(res[i]) % 2 == 0:
res[i] = str(int(res[i])+1)
for j in range(i+1,len(res)):
res[j] = "1"
break
return int("".join(res))
def get_lower(num):
found = True
for char in num:
if int(char) % 2 == 0:
found = False
break
if found:
return int(num) if num else 0
res = list(num)
for i in range(len(res)):
if int(res[i]) % 2 == 0:
prefix_val = int("".join(res[:i+1]))-1
remain_len = len(res) - i - 1
if remain_len <= 0:
next_s = "9"*remain_len
else:
next_s = str(prefix_val) + ("9"*remain_len)
return get_lower(next_s)
return int(num)
def solve():
data = sys.stdin.read().split()
if not data:
return
result = []
for i in data:
up_val = get_upper(i)
low_val = get_lower(i)
diff1 = up_val - int(i)
diff2 = int(i) - low_val
result.append(str(min(diff1,diff2)))
sys.stdout.write("\n".join(result)+"\n")
if __name__ == "__main__":
solve()