Buy Two and Get one Free?

I go to the supermarket and they have an offer on, which says; Buy Two and get one free.

I am then asked to calculate the price per litre of the drink. Each carton contains 1 litre.

The 1 litre cartons are £1.20 each, so I say well surely £1.20 x 2 = £2.40 and I get one free?

My misunderstanding follows;

Why should the third carton which is free be included in the calculation?

If 1 litre = £1.20 / 3 litres = 0.40 p

0.40 x 3 = £1.20, surely this can't be right as then two cartons would be free?

If it is right, what is the £0.40 p referring to, is it the cost to the retailer??

Thanks in advance

David