The Buddy System memory allocation scheme works as follows: Memory is always allocated in blocks of size 2^k bytes. If a block of size 2^k is split, it creates two 'buddies' of size 2^(k-1). When a buddy is freed and its partner buddy is also free, they COALESCE back into a 2^k block.
Consider a 256-byte memory using buddy system. Requests arrive in order: 30B, 40B, 50B.
After all three allocations, how many free blocks are there and what are their sizes?
