abs () { [ $1 -lt 0 ] && printf $((-1 * $1)) || printf $1 } f () { local a=$1; local b=$1; local c=$1 while [ $a -ne 0 ]; do [ $(($a + $a)) -gt $c ] && c=$(($a + $a)) a=$(($a >> 1)); b=$(($a + $b)) done printf $(abs $(($b - $c))) } read n echo $(f $n)