Ok, the 12 byte way means you either reference the 1-91 bitmap or store the actual number itself giving you 1 byte (pointer to position in bitmap or value itself) x 12 numbers in list.

Doing it the other way around means for each bit in bitmap you need to allocate 4 bits for its position in list, zeroed out if not in list. That would give 4 bits x 90 = 45 bytes of additional storage.