add choose or not function 2^n