I think Cisco recommands you start with assigning/creating subents with the largest number of hosts;
so what block (or mask) will get you 95 hosts, 50 hosts, and so on ?
see my document https://learningnetwork.cisco.com/docs/DOC-10525
I'll offer a few comments. I'm not going to go to the depth you've asked - that'd take some time - but I'll see if I can do this briefly.
Choose the mask that supplies enough host bits to meet the need. EG, your "A" subnet needs 95 hosts, you need 7 host bits, because 2^6 - 2 = 62 (not enough), and 2^7 - 2 = 126 (is enough). Using the same logic for all 5 subnets you need, your masks would be:
Then, start with the largest subnet first, and pick subnets. Martin mentioned that as Cisco's preference; also, it's easier starting with the larger subnets when learning.
So, how to do that? Start with the shortest prefix mask aka the mask that gives you the most hosts in the subnet. Pretend you're using that mask, only that mask, in the original class C network you supplied (18.104.22.168). What are the possible subnets? 22.214.171.124/25 and 126.96.36.199/25. Pick one, mark it as the one you're using. Mark the other one as the one you'll subdivide at the next step.
Next step? Do the same thing with the next mask (/26), except you have to avoid the "used" part of the address space per previous steps. What are all subnets of 188.8.131.52, mask /26?
184.108.40.206/26 (but it overlaps with 220.127.116.11/25)
18.104.22.168/26 (but it overlaps with 22.214.171.124/25)
126.96.36.199/26 (OK to use)
188.8.131.52/26 (OK to use)
I think in your question you need just one, so pick it, mark it as used, and mark the other(s) as available to be subdivided at the next step.
In this case, repeat for /27, /28, /30.
If you always pick the numerically-lowest subnet IDs, you'd get