I hope my reply is not too late. The simple way i get round how many packs 'to pay for' when such discount (i.e. 4 for price of 3 discount which is also the same as saying "for every 3 packs you get 1 for free") is offered is to do a simple ratio like this:

buy 4 packs - pay for 3
buy 24 packs - pay for ?

you then need to cross multiply this (i.e imagine an X in the middle of of 4 segments above to know which numbers to multiply by each other) to give:

(24 x 3)/4 = 18 packs. This means that you will only be paying for 18 packs.