800(payload)+20 bytes of data is to be transmitted it will not be fragmented from p to r1
now from r1 to r2 it is to be fragmented 248b(payload)+8b(header)------now payload will be 248(it should be multiples of 8)*3+56+4*8(header)
now from r2 to q there is no problem as packet length is 256 only
total number of bytes that are sent from host P to Q (including all the headers) is 820+32=852