**What was the challenge?**
For a moment, let's suppose father had given **$30** to son and provided 5 envelopes and put the same challenge.
----------------------------------------------------------------------------------------------------

Here, use of the binary number system helps in matter.
The son would distribute 15 dollars into **4 envelops** like -
2^0 = **1**, 2^1 = **2**, 2^2 = **4**, 2^3 = **8.**
Now, for any amount asked between **1 to 15**, son can produce some of these 4 envelops wherever **1** is there in envelop column for that particular amount.
For example, if father asks for $10 (Binary - 1010), son would give envelop 4 and 2 (8+2=10).
After putting $15 dollar in 4 envelops, he puts **remaining $15 **in **5th envelop** so that he can cover rest of amount between **16 to 30.**
If father asks amount **greater than 15** then he would take envelop of** $15 first** and depending on how much the amount asked is **greater** than this $15 he would pick some of those 4 envelops.
For example, if father asks for $24, then he picks envelop 5 having $15 and envelops for amount 24 - 15 = 9 (Binary - 1009) i.e. envelop 4 and 1 (8+1=9) i.e. total of **15 + 9 = 24.**
So, what we observe from this is that the **number of envelops** needed for such arrangement is **equal** to the number of** binary bits** needed to represent the **amount itself** or **nearest power of 2** **greater** than the amount.
In above case, to represent **30** in binary we need **5 bits** or nearest power of 2 greater than 30 is 32 which needs 5 bits for representation.
**-----------------------------------------------------------------------------**
Now, let's turn to the actual challenge where father has asked son to distribute **$1000** rightly in **10 envelopes. **
The reason for selecting 10 as a number of envelops is clear now as 1000 needs 10 bits in binary or nearest power of 2 greater than 1000 is 1024 which needs 10 bits for binary representation.
So, the son puts **256, 128, 64, 32, 16, 8, 4, 2, 1** dollars in 9 envelops (envelop numbered as **Envelop 9**, **Envelop 8**.........**Envelop 1** in order)
and 1000 - 511 = **489 dollars** in **10th envelop.**
First 9 envelops will cover amounts from **1 to 511** and for amounts** greater **than **511** inclusion of **10th envelop **having 489 dollars is mandatory.
Again selection of envelops for the amount **511 to 1000** depends on how much the amount **exceeds** the **$489.** The binary representation of that difference and selection of envelop accordingly is all that needed.
----------------------------------------------------------------------------------------------------

Let's make sure this distribution with couple of examples.
If father asks for amount of **$109** (binary - 1101101) then son picks
Envelop 1($1) + Envelop 3 ($4) + Envelop 4 ($8) + Envelop 6 ($32) +
Envelop 7 ($64) i.e. having amount = 1 + 4 + 8 + 32 + 64 = 109 dollars.
If father asks for **$525** then son gives** $489** via **Envelop 10** and rest of amount
530 - 489 = 40 (Binary - 101000) in form of Envelop - 6 ($32) and Envelop 4 ($8).
----------------------------------------------------------------------------------------------------

** **