use bit manipulation, AC