Also you have written three fragments of <5,88>, <5, 88> and <5,36>
I think you have written 5 as IP header, which is wrong. Minimum IP header size is 20 Bytes, but Header size field has 4 bits, with 4 bits you can represent maximum 15. So solution was to divide actual IP header size by 4 and then store it, so if header size field has 15, that means actual IP header size will be 60 bytes.