input: Write a python function to flip all bits of a given number except for the first and last bits.
  assert flip_inner_bits(9) == 15
  assert flip_inner_bits(10) == 12
  assert flip_inner_bits(11) == 13
output: def flip_inner_bits(n):
      # Get the binary representation of the number as a string (without '0b' prefix)
      binary = bin(n)[2:]
      # If the length of the binary representation is less than 3, return the number as is
      if len(binary) < 3:
          return n
      # Flip the inner bits by iterating through the string
      flipped_binary = binary[0] + ''.join('1' if bit == '0' else '0' for bit in binary[1:-1]) + binary[-1]
      # Convert the flipped binary string back to an integer
      return int(flipped_binary, 2)