bit manipulation 5380545