The number of fragments needed would be 6, and the data size of the last fragment would be 100 bytes. This is because, the total size of the datagram is 4000 bytes and header size is 20 bytes so, the total data size is 4000 - 20 = 3980 bytes. And the maximum capacity of the link is 800 bytes, so the number of fragments needed is 3980/800 = 4.975 = 6 (rounding up). The last fragment will have the remaining data, which is 3980 - (6-1)*800 = 100 bytes.