solution of CSAPP homework