code: def get_powers_of_2(_sum):
      
      return [2**y for y, x in enumerate(bin(_sum)[:1:-1]) if int(x)]
docs: Get powers of 2 that sum up to the given number.
  
      This function transforms given integer to a binary string.
      A reversed value limited to digits of binary number is extracted
      from it, and each of its characters is enumerated.
  
      Each digit is tested for not being 0. If the test passes, the index
      associated with the digit is used as an exponent to get the next
      value in the sequence to be returned.
  
      :param _sum: a sum of all elements of the sequence to be returned
      :returns: a list of powers of two whose sum is given